-1

私はphpで投稿リクエストを行っており、投稿が完了するとサーバーはテキストを送り返します。これはコードです:

<?php  // Create map with request parameters
$params = array ('username' => 'loginapi', 'password' => 'myapilogin', 'term'=>  'tema'     );

// Build Http query using params
$query = http_build_query ($params);

// Create Http context details
$contextData = array (
            'method' => 'POST',
            'header' => "Connection: close\r\n".
                        "Content-Length: ".strlen($query)."\r\n",
            'content'=> $query );

// Create context resource for our request
$context = stream_context_create (array ( 'http' => $contextData ));

// Read page rendered as result of your POST request
$result =  file_get_contents (
              'http://infolinetest.nandiclient.com/search/searches/requestData.xml',  // page url
              false,
              $context);

// Server response is now stored in $result variable so you can process it

var_dump($result);

?>

問題は、私が望む結果が続くにもかかわらず、次のエラーが発生することです:

Notice: file_get_contents() [function.file-get-contents]: Content-type not specified      
assuming application/x-www-form-urlencoded in C:\xampp\htdocs\directory               \Search_Result.php on line 49
string(269) " Nandimobile
19 Banana Street, American House East legon
IT Software products and services0302503313 0244709575 " 

事前にサンクス

4

3 に答える 3

4

POST のコンテンツ タイプを指定する必要があります。

$contextData = array (
            'method' => 'POST',
            'header' => "Connection: close\r\n".
                        "Content-Type: application/x-www-form-urlencoded\r\n".
                        "Content-Length: ".strlen($query)."\r\n",
            'content'=> $query );
于 2012-06-20T09:36:52.747 に答える
1

1、あなたが言ったようにエラーを受け取りませんでした、それはただの通知です(php.ini設定で無効にすることができます)

2、次のように content-type ヘッダーを設定することで、この問題を簡単に回避できます。

$contextData = array (
        'http'=>array(
            'method' => 'POST',
            'header' => "".
                "Connection: close\r\n".
                "Content-Length: ".strlen($query)."\r\n".
                "Content-type: "."application/x-www-form-urlencoded"."\r\n",
            "content"=> $query )
         );

詳細はこちら: http://php.net/manual/en/function.stream-context-create.php

于 2012-06-20T09:37:34.657 に答える
0

@前に追加しfile_get_contentsて試してください

$result =  @file_get_contents (
              'http://infolinetest.nandiclient.com/search/searches/requestData.xml',  // page url
              false,
              $context);
于 2012-06-20T09:35:10.780 に答える