문제

클라이언트를 위해 자동화를하고 있으며 프로세스에서 CURL을 통해 일부 PHP 스크립트를 실행할 계획이었습니다. 그러나 컬에 맞으면 브라우저에서 잘 작동하는 URL이 404로 올라갑니다. 다른 서버가 이러한 방식으로 CURL을 차단하도록 구성되어 있음을 다른 곳에서 언급했습니다.

편집 할 수있는 설정입니까? httpd.conf? 없는 것 같습니다 php.ini.

내 코드는 그렇습니다.

  $url = "http://site.com/xxx/curl.php?cID=$c->cID&db=$c->db&un=$c->un&/";
  echo "$url";

  // spoofing FireFox 2.0
  $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) 
    Gecko/20061204 Firefox/2.0.0.1";
  $ch = curl_init ($url) ;
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
  curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
  $res = curl_exec ($ch);

내가 반향 할 때 $res 기본 404 오류 페이지에서 코드를 얻습니다. 에코 된 $ URL을 복사하고 브라우저에 붙여 넣으면 페이지가 잘됩니다. 상대 경로와 전체 서버 경로를 사용해 보았습니다.

사용자 에이전트 스푸핑이 오늘 추가되어 내가 Curl이 아니라고 말하는 것이 도움이 될지 모르지만 응답에 아무것도 변경되지 않았는지 확인했습니다.

이것의 근본 원인을 추적하는 방법이나 더 나은 것을 해결하는 방법에 대한 생각이 있습니까?

도움이 되었습니까?

해결책

지구상의 친절한 사람들은이 계정과 관련하여 내부 라우팅 문제가 있음이 밝혀졌습니다. /etc/sysconfig/network의 잘못된 호스트 이름 설정 및 /etc/resolv.conf의 잘못된 분야. 이 사이트와 다른 많은 사이트가 최근 서버 중 하나에서 다른 서버로 마이그레이션되었습니다. 아직 고정되지는 않았지만 404 년이었습니다.

감사.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top