Web サイトで HTTP リクエストを送信するための PHP スクリプトを作成しました。ヘッダーを設定しないと、すべてが「正常に」機能します。結果は間違っていますが。しかし、ヘッダーを変更するとプログラムがフリーズします。これが私のコードです:
$cookie_file_path='cookie';
$curl_connection = curl_init('http://www.website.com/path/to/script');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($curl_connection, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($curl_connection,CURLOPT_HTTPHEADER, array('Accept: application/json, text/javascript, */*; q=0.01','Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3','Accept-Encoding: gzip, deflate','Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7','Content-Type: application/json; charset=utf-8','X-Requested-With: XMLHttpRequest','Content-Length: 179','Pragma: no-cache','Cache-Control: no-cache'));
//I use the same header as the website
$post_data=array();
$post_data['address'] = 'my_address';
$post_data['lastname'] = 'my_lastname';
(...)
foreach ( $post_data as $key => $value)
$post_items[] = $key . '=' . $value;
$post_string = implode ('&', $post_items);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);
file_put_contents('result.html',$result);
メイン Web ページは AJAX の POST 要求をスクリプトに送信します。私は PHP で同じことをしようとしています。この行をコメントアウトしても、スクリプトはフリーズしません:
curl_setopt($curl_connection,CURLOPT_HTTPHEADER, array('Accept: application/json, text/javascript, */*; q=0.01','Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3','Accept-Encoding: gzip, deflate','Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7','Content-Type: application/json; charset=utf-8','X-Requested-With: XMLHttpRequest','Content-Length: 179','Pragma: no-cache','Cache-Control: no-cache'));
これにはどのような理由が考えられますか。何か不足していますか?
ありがとう