1

curl を実行したときに取得するはずだった xml 応答が得られませんでした。しかし、curl getinfo を実行すると、応答コード 505 が返されます。

$url='http://test/paynetz/epi/fts?login=160&pass=Test@123&ttype=NBFundTransfer&prodid=NSE&amt=50&txncurr=INR&txnscamt=0&clientcode=TkFWSU4%3d&txnid='.$string
     .'&date='.$date

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
echo $auth = curl_exec($curl);
$response = curl_getinfo($curl);
echo "<pre>";
print_r($response);
echo "</pre>";

これは私が得るものです

Array
(
    [url] => http://test/paynetz/epi/fts?login=160&pass=Test@123&ttype=NBFundTransfer&prodid=NSE&amt=50&txncurr=INR&txnscamt=0&clientcode=TkFWSU4%3d&txnid=56482&date=28/04/2014 22:24:53&custacc=1234567890&udf1=ajeesh&udf2=ajeesh@fethr.com&udf3=9400429941&udf4=arrackaparmabilhouse&ru
    [content_type] => 
    [http_code] => 505
    [header_size] => 126
    [request_size] => 333
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.451817
    [namelookup_time] => 0.000152
    [connect_time] => 0.224945
    [pretransfer_time] => 0.225027
    [size_upload] => 0
    [size_download] => 0
    [speed_download] => 0
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => 0
    [starttransfer_time] => 0.451794
    [redirect_time] => 0
    [certinfo] => Array
        (
        )

    [redirect_url] => 
)

curl 応答が返されるのはなぜですか?

4

2 に答える 2

1

エラー 505 は、使用している HTTP バージョンをサーバーが認識していないことを意味します。したがって、使用している HTTP バージョンを変更するだけで問題が解決する可能性があります。

を使用して、古い HTTP バージョンを使用してみてくださいCURLOPT_HTTP_VERSION

それでも問題が解決しない場合は、次の質問を見てみてください: HTTP リクエストが失敗しました! HTTP/1.1 505 HTTP バージョンがサポートされていませんエラー

于 2014-04-28T17:23:47.790 に答える
1

505 は HTTP バージョンがサポートされていないことを意味するため、CURL が他のサービスでサポートされていない HTTP バージョンを使用してリクエストを作成しようとしていると想定しています。コードで、HTTP バージョンを 1.0 に調整できるかどうかを確認し、それが機能するかどうかを確認してください。

于 2014-04-28T17:12:26.697 に答える