我想通過發佈請求發送用戶名和密碼到本地主機上的登錄頁面。 我使用下面的代碼來生成請求,並將其發送到頁面發佈/獲取請求不發送參數
$url='http://localhost/index.php';
$fields = array('username' => 'admin', 'password' => '1234');
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($fields));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
編輯
的print_r(curl_getinfo($ CH));打印此信息
Array [] =>http://www.url.com/index.php [content_type] => text/html [http_code] => 200 [header_size] => 380 [request_size] => 182 [filetime] => -1 [ssl_verify_result] = > 0 [redirect_count] => 0 [total_time] => 2.234 [namelookup_time] => 0.063 [connect_time] => 0.063 [pretransfer_time] => 0.063 [size_upload] => 28 [size_download] => 2322 [speed_download] => 1039 [speed_upload] => 12 [download_content_length] => 2322 [upload_content_length] => 28 [starttransfer_time] => 2.234 [redirect_time] => 0 [certinfo] => Array()[primary_ip] => :: 1 [primary_port] = > [local_port] => 54953 [redirect_url] =>)[內容類型] => ] => application/x-www-form-urlencoded)
生成請求並收到HTTP 200,OK狀態作爲響應。該請求沒有發送任何參數,作爲響應,我收到正常的登錄表單而不是登錄後的屏幕。
任何人都請告訴我上面的代碼有什麼問題。
我已經嘗試了與stream_context_create和file_get_contents相同,但在兩種情況下(登錄表單而不是後登錄屏幕)都會生成相同的響應,就像它們正在接收任何參數一樣。
將布爾放到CURLOPT_POST選項 – Phantom
添加以下行:'print_r(curl_getinfo($ ch));''curl_close'之前 – hindmost
@Phantom,它產生相同的結果。 – user3778430