私はリモートサイトのページでURLを呼び出そうとしています。カールの使用を決定しました。 URLのVARSのように表示されているリモートサイト上:URLが呼び出されているPHPカールGET wierdの結果を使用してvarsを送信
$_REQUEST Array
(
[var1] => val1
[amp;var2] => val2
[amp;var3] => val3
)
です、私はURLで&
を使用していないんだけど、世界的な要求はそれを持っていることを
http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3
お知らせまたはほぼ - それは&
の代わりにamp;
であり、私が使用したように&
ではありません!それはそれらのいずれかを持つべきではない。
curlオブジェクトはフォームにログインし、Cookieを設定し、別のページにフォームを投稿しました。これは私が最後に必要なリンクです。ここ
は、私が使用しているPHPです:
curl_setopt($this->ch, CURLOPT_URL, "http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3");
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($this->ch, CURLOPT_REFERER, "http://site.com/");
curl_setopt($this->ch, CURLOPT_VERBOSE, 1);
curl_setopt($this->ch, CURLOPT_COOKIEJAR, $this->cookie);
curl_setopt($this->ch, CURLOPT_COOKIEFILE, $this->cookie);
curl_setopt($this->ch, CURLOPT_POST, 0);
curl_setopt($this->ch, CURLOPT_HTTPGET, 1);
$output = curl_exec($this->ch);
$info = curl_getinfo($this->ch);
私はこの後、別のカールの要求を走っていると私はまだその問題はクッキーではありませんログインしています。
info Array
(
[url] => http://site.com/controller/action.php?var1=val1&var2=val2&var3=val3
[content_type] => text/html; charset=utf-8
[http_code] => 403
[header_size] => 403
[request_size] => 541
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.781186
[namelookup_time] => 3.7E-5
[connect_time] => 3.7E-5
[pretransfer_time] => 4.2E-5
[size_upload] => 1093
[size_download] => 3264
[speed_download] => 4178
[speed_upload] => 1399
[download_content_length] => 3264
[upload_content_length] => 0
[starttransfer_time] => 0.781078
[redirect_time] => 0
[certinfo] => Array
(
)
)
私はコピーした場合、過去$情報[」:最後の要求(ログインフォーム)が0にCURLOPT_POSTと1 にCURLOPT_HTTPGETを設定していています$ _POSTを使用しているのでここでは$先からの出力がありますurl ']をブラウザに入力します。完全クロックに失われた時間は、任意の助けをいただければ幸いです、失われた;)
.... $ _GET []または$ _REQUEST []で$ var2が見つからないため、http 403が自分のコードから発生しています –