2017-03-25 7 views
0

URL이 실제로 존재하는지 확인하기위한 기능 (아래 코드)이 있으며 실패한 URL로 실행되었습니다. 브라우저에서 works fine이 발생합니다. 따라서 나는 매우 궁금합니다. 이 URL은 실패합니다.400 나쁜 요청 SEC-43

HTTP/1.1 400 Bad Request 
content-length: 378 
x-synthetic: true 
expires: Thu, 01 Jan 1970 00:00:00 UTC 
pragma: no-cache 
cache-control: no-cache, must-revalidate 
content-type: text/html; charset=UTF-8 
connection: close 
date: Sat, 25 Mar 2017 14:05:45 UTC 
x-contextid: 1INsx8lY/G2fZ1ojZ 
x-via: 1.1 echo105 

<html> 
<head> 
<title>400 Bad Request</title> 
<style> body { background-color: #F2F2F2; color: #3E3E3E; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; } pre { word-wrap: break-word; } </style> 
</head> 
<body> 
<h1>400 Bad Request</h1> 
<p><pre>1INsx8lY/G2fZ1ojZ @ Sat, 25 Mar 2017 14:05:45 GMT</pre> 
<p><pre>SEC-43</pre> 
<p><pre></pre> 
</body> 
</html> 

애매한 상황에 맞는 ID와 타임 스탬프가 변경 유지하지만, 그 나는 같은 일을 얻을 :

응답 내가 다시 구매하십시오.

  • 는 원격으로는 액세스 권한 웹 호텔 (one.com, 유닉스/램프 종류에 상관없이 내가
  • 가 모두 로컬 일어나는 웹 사이트 (창에 XAMPP)에 함께 무엇을하려고 페이지 일어나지 않을 것 같습니다 -stack)
  • user-agent를 파이어 폭스 사본으로 설정하려고했으나 도움이되지 않았습니다.

내가 "잘못된 요청"과 "SEC-43"를 검색하려고했습니다 ... 터미널 에서 curl -i -X HEAD https://www.bergenadventistkirke.com 실행

  • 작업 그러나 않습니다 ...하지만 그것은 단지 나를 더 혼란하게, 하지만 내가 생각하는 모두는 동일한 오류 html을 보여주는 많은 결과입니다. 클릭하면 인증서가 잘못되거나 다른 오류가 발생하거나 다른 곳으로 리디렉션됩니다.

    여기에 무슨 일이 일어나는 지 아는 사람이 있습니까?

    맬웨어? 어떤 종류의 마법없는 브라우저가 트래픽을 차단합니까?


    그들은이 User-Agent 헤더를 확인하고 하나가 표시되지 않으면 HTTP 400 Bad Request을 다시 반환하고

    <?php 
    $c = curl_init(); 
    curl_setopt_array($c, [ 
        CURLOPT_URL => 'https://www.bergenadventistkirke.com', 
        CURLOPT_HEADER => true, 
        CURLOPT_FOLLOWLOCATION => true, 
    ]); 
    ob_start(); 
    curl_exec($c); 
    curl_close($c); 
    
    header('content-type: text/plain; charset=utf-8'); 
    echo ob_get_clean(); 
    
  • 답변

    1

    코드입니다. 명령 행에서 curl은 사용자 에이전트를 curl/7.46.0으로 설정합니다. 따라서 이것이 작동합니다.

    시도 :

    $c = curl_init(); 
    curl_setopt_array($c, [ 
        CURLOPT_URL => 'https://www.bergenadventistkirke.com', 
        CURLOPT_HEADER => true, 
        CURLOPT_FOLLOWLOCATION => true, 
        CURLOPT_USERAGENT => "curl/7.46.0" 
    ]); 
    ob_start(); 
    curl_exec($c); 
    curl_close($c); 
    
    header('content-type: text/plain; charset=utf-8'); 
    echo ob_get_clean(); 
    
    +1

    흠, 즉, 질문에 대답했다가, 내가 전에 사용자 에이전트를 설정하려고, 나는 다음과 같은 오류를 얻었으나, 지금은 잘 오 작동 ... 이상 하네 고마워, 다시 자면 돼! – Svish