http - PHP CURL がバックエンド API (POST) をリクエストするとき、リクエスト本文に複数の境界が存在するようにリクエスト データを構造化するにはどうすればよいですか?

WBOY
リリース: 2016-08-04 09:19:47
オリジナル
2030 人が閲覧しました

バックエンド API をリクエストする場合、バックエンドが受信するデータ形式は次のとおりです:

リーリー

APIで必要なデータから、php curl发送post数据时, 构造的post请求体要有两个content-type

1つは通常のデータですContent-Type: application/json

1つの要件はcontent-type: octet-stream、バイナリストリーム、主に画像やその他の形式のファイルをストリーム形式に変換し、保存するためにAPIに転送することです

通常、curl_setopt($curl, CURLOPT_POSTFIELDS, $body);はリクエストボディの設定に使用されるため、この形式でリクエストボディを構築する方法

リーリー

返信内容:

バックエンド API をリクエストする場合、バックエンドが受信するデータ形式は次のとおりです:

リーリー

APIで必要なデータから、php curl发送post数据时, 构造的post请求体要有两个content-type

1つは通常のデータですContent-Type: application/json

1つの要件はcontent-type: octet-stream、バイナリストリーム、主に画像やその他の形式のファイルをストリーム形式に変換し、保存するためにAPIに転送することです

通常、curl_setopt($curl, CURLOPT_POSTFIELDS, $body);はリクエストボディの設定に使用されるため、この形式でリクエストボディを構築する方法

リーリー

CURLFile来将文件转换为流形式, 只是上面我在处理时, 请求超时时间太短, 导致数据流还没发送完成, 该tcp

を使用した後にリンクが切れたのは事実です

一般的な CURL リクエスト API を作成する場合は、タイムアウトを 10 秒に設定することをお勧めします。 ファイルのアップロードに時間がかかりすぎる場合は、リンク時間とタイムアウトを増やしてください

CURLOPT_FOLLOWLOCATION , CURLOPT_TIMEOUT

リーリー

-Content-Type: application/json: json_encode
-content-type: octet-stream:
php>5.6

リーリー

php リーリー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート