ヘッダーと本文の詳細を受け取る方法をカールする

user4126382

いくつかのデータを別のphpページに送信するためにcurlコードをテストしています。以下は、curlリクエストを送信するために使用したコードです。

$xml_data = "<Request><NewOrder></NewOrder></Request>";


$URL = "http://127.0.0.1/test1/rece1.php";
$header ="";
// Build header as array for cURL option
$header = "HTTP/1.0\r\n";
$header.= "MIME-Version: 1.0\r\n";
//$header.= "Content-type: application/PTI46\r\n";
$header.= "Content-length: ".strlen($xml_data)."\r\n";
$header.= "Content-transfer-encoding: text\r\n";
$header.= "Request-number: 1\r\n";
$header.= "Document-type: Request\r\n";
//$header.= "Interface-Version: Test 1.4\r\n";
$header.= "Connection: close \r\n\r\n";              
$header.= $xml_data;   

// Define cURL options, then connect to server while saving response
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$URL);

curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_getinfo($ch, CURLINFO_HTTP_CODE);
//$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,1);
//curl_setopt($ch,CURLOPT_STDERR ,$f);

$rawResponse = curl_exec($ch);  
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
echo "CT : ".$content_type;
if (curl_errno($ch)) {
   print curl_error($ch);
} else {
   curl_close($ch);
}

これが私のrece1.phpで行うことです

<?php
echo "TEST ONE ";
?>

このスクリプトを実行すると、次のようになります。ここでの私の問題は、「サーバーからの空の応答」が表示され続けることです。curl(rece1.php)の呼び出しからヘッダーと本文の応答を出力したいと思います。これを解決する方法は?

* About to connect() to 127.0.0.1 port 80 (#0)
*   Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> HTTP/1.0
MIME-Version: 1.0
Content-length: 40
Content-transfer-encoding: text
Request-number: 1
Document-type: Request
Connection: close

<Request><NewOrder></NewOrder></Request> /test1/rece1.php HTTP/1.1
Host: 127.0.0.1
Accept: */*

* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
CT : Empty reply from server
* Closing connection #0
ヨエル・ヌネス

コードを次のように更新します。

<?php
$xml_data = "<Request><NewOrder></NewOrder></Request>";


$URL = "http://127.0.0.1/test1/rece1.php";

// move all your headers to the $headers array below
/*
    $header.= "MIME-Version: 1.0\r\n";
    //$header.= "Content-type: application/PTI46\r\n";
    $header.= "Content-length: ".strlen($xml_data)."\r\n";
    $header.= "Content-transfer-encoding: text\r\n";
    $header.= "Request-number: 1\r\n";
    $header.= "Document-type: Request\r\n";
    //$header.= "Interface-Version: Test 1.4\r\n";
    $header.= "Connection: close \r\n\r\n";  
*/
$headers = array(
    'MIME-Version: 1.0',
    'Content-transfer-encoding: text',
    'Request-number: 1',
    'Document-type: Request',
    'Content-type: application/xml', 
    'Content-length: ' . strlen($xml_data),
    'Connection: close',
);

// Define cURL options, then connect to server while saving response
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$URL);

curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_getinfo($ch, CURLINFO_HTTP_CODE);
//$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,1);
//curl_setopt($ch,CURLOPT_STDERR ,$f);

$rawResponse = curl_exec($ch);  
$content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
echo "CT : ".$content_type;
if (curl_errno($ch)) {
   print curl_error($ch);
} else {
   curl_close($ch);
}

CURLOPT_CUSTOMREQUEST'POST'、 'DELETE'などのリクエストメソッドです。詳細については、http://php.net/manual/en/function.curl-setopt.phpをご覧ください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このSQLクエリ(ヘッダーと詳細)を解決する方法は?

分類Dev

ヘッダーと詳細クラスからJsonを作成する方法

分類Dev

Spring DataRest- @ RepositoryEventHandlerでヘッダーを受け取る方法

分類Dev

Spring DataRest- @ RepositoryEventHandlerでヘッダーを受け取る方法

分類Dev

DocuSign:ヘッダーで署名を受け取る方法は?

分類Dev

詳細アイテム全体にヘッダーレベルの割引を分配する方法

分類Dev

SlimとMonologでエラーが発生したときにログの詳細が記載されたメールを受け取る方法

分類Dev

C#ASP.NET MVC RestAPI:本文とパラメーターを受け取る前にヘッダーを処理します

分類Dev

ヘッダーにSOAP認証の詳細を含める方法は?

分類Dev

SpringBatchでフラットファイルのヘッダーと本文を別々に読み取る方法

分類Dev

ヘッダーと本文の両方をチェックするProcmailフィルターを作成する方法

分類Dev

Pythonクリック:使用エラーに関する完全なヘルプの詳細を印刷する方法は?

分類Dev

jQueryでヘッダー行と折りたたみ可能な詳細行を含むテーブルを作成する方法

分類Dev

詳細検索を追加する方法モーダルピッカーライトスイッチ

分類Dev

特定の詳細データセットの詳細をカウントする

分類Dev

ドキュメントのロード後に実行すると、イベントリスナーはnullの詳細を受け取ります

分類Dev

詳細を取得する方法と、カテゴリとブックテーブル構造を接続する方法(GROUP_CONCATの使用方法)

分類Dev

SQL Server 2014:csvエクスポートにヘッダーと詳細を含める方法

分類Dev

詳細情報を照会しながらヘッダー情報を追加する

分類Dev

TestNG-詳細レベルを上げるときにコンソール出力ヘッダーを回避するにはどうすればよいですか?

分類Dev

imgファイルからカーネルの詳細を取得する方法

分類Dev

ExpansionPanelListのヘッダーと本文に異なる色を付ける

分類Dev

chekoutページと注文詳細ページの液体ファイルをカスタマイズする方法

分類Dev

Intellijでコードカバレッジの詳細を表示する方法

分類Dev

Angular8でカートの詳細をリセットする方法

分類Dev

サブビューとしてUINavigationBarの下にあるフローティングヘッダー-タッチを受け取りますか?

分類Dev

詳細モードでcurlヘッダー出力をフィルタリングする

分類Dev

クレジットカードの詳細を検証する

分類Dev

パッケージが影響するディレクトリとファイルの詳細を見つける方法と場所は?

Related 関連記事

  1. 1

    このSQLクエリ(ヘッダーと詳細)を解決する方法は?

  2. 2

    ヘッダーと詳細クラスからJsonを作成する方法

  3. 3

    Spring DataRest- @ RepositoryEventHandlerでヘッダーを受け取る方法

  4. 4

    Spring DataRest- @ RepositoryEventHandlerでヘッダーを受け取る方法

  5. 5

    DocuSign:ヘッダーで署名を受け取る方法は?

  6. 6

    詳細アイテム全体にヘッダーレベルの割引を分配する方法

  7. 7

    SlimとMonologでエラーが発生したときにログの詳細が記載されたメールを受け取る方法

  8. 8

    C#ASP.NET MVC RestAPI:本文とパラメーターを受け取る前にヘッダーを処理します

  9. 9

    ヘッダーにSOAP認証の詳細を含める方法は?

  10. 10

    SpringBatchでフラットファイルのヘッダーと本文を別々に読み取る方法

  11. 11

    ヘッダーと本文の両方をチェックするProcmailフィルターを作成する方法

  12. 12

    Pythonクリック:使用エラーに関する完全なヘルプの詳細を印刷する方法は?

  13. 13

    jQueryでヘッダー行と折りたたみ可能な詳細行を含むテーブルを作成する方法

  14. 14

    詳細検索を追加する方法モーダルピッカーライトスイッチ

  15. 15

    特定の詳細データセットの詳細をカウントする

  16. 16

    ドキュメントのロード後に実行すると、イベントリスナーはnullの詳細を受け取ります

  17. 17

    詳細を取得する方法と、カテゴリとブックテーブル構造を接続する方法(GROUP_CONCATの使用方法)

  18. 18

    SQL Server 2014:csvエクスポートにヘッダーと詳細を含める方法

  19. 19

    詳細情報を照会しながらヘッダー情報を追加する

  20. 20

    TestNG-詳細レベルを上げるときにコンソール出力ヘッダーを回避するにはどうすればよいですか?

  21. 21

    imgファイルからカーネルの詳細を取得する方法

  22. 22

    ExpansionPanelListのヘッダーと本文に異なる色を付ける

  23. 23

    chekoutページと注文詳細ページの液体ファイルをカスタマイズする方法

  24. 24

    Intellijでコードカバレッジの詳細を表示する方法

  25. 25

    Angular8でカートの詳細をリセットする方法

  26. 26

    サブビューとしてUINavigationBarの下にあるフローティングヘッダー-タッチを受け取りますか?

  27. 27

    詳細モードでcurlヘッダー出力をフィルタリングする

  28. 28

    クレジットカードの詳細を検証する

  29. 29

    パッケージが影響するディレクトリとファイルの詳細を見つける方法と場所は?

ホットタグ

アーカイブ