실제로, 너무 엉망이어서 내가 컬이 범인인지 확실하지 않습니다.POST 대신 GET을 보내려면
$creds = array(
'pw' => "xxxx",
'login' => "user"
);
$login_url = "https://www.example.net/login-form"; //action value in real form.
$loginpage = curl_init();
curl_setopt($loginpage, CURLOPT_HEADER, 1);
curl_setopt($loginpage, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($loginpage, CURLOPT_URL, $login_url);
curl_setopt($loginpage, CURLOPT_POST, 1);
curl_setopt($loginpage, CURLOPT_POSTFIELDS, $creds);
$response = curl_exec($loginpage);
echo $response;
내가 (일반, 성공적인 요청의 헤더를 일치) 헤더를 얻을 로그인 페이지 다음 (나는 컬 리디렉션이 때문에 캡처 같은데요)이 : 그래서, 여기에 PHP의 "Bad contact type"의 효과에 대한 오류.
요청이 호스트가 요청한 서버가 아닌 원격 서버로 설정되었지만 Firebug에서 요청이 POST가 아닌 GET으로 전송되었다는 것이 문제라고 생각했습니다.
로그인 사이트의 양식을 복사하는 경우 값이있는 양식 요소 만 잘라내어 전체 URL을 입력하면 효과가 있습니다. 그래서 나는 이것이 로그인 요청이 동일한 서버 등에서 발생해야하는 보안 문제가 아니라고 생각할 것입니다. (심지어 비어있는 숨겨진 값을 없애고 다른 쿠키를 설정하는 JS 전체를 제거합니다).
다시 말해서, 나는 꽤 빨리 혼란스러워합니다.
왜 GET으로 나타나는지, 왜 작동하지 않는지에 대한 아이디어가 있습니까?
정말 좋은 조언. – RageZ