php curl抓取不到页面及来路问题?
$url = "http://mp.weixinbridge.com/mp/wapredirect?url=http%3A%2F%2Fwww.zhihu.com%2F";
$ch = curl_init();
$timeout = 1;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
相对路径的图片不能显示,如何使相对路径的图片正常显示?
回复内容:
谢邀,哥们,抓不到数据是因为:1.你没有写header
2.没有写cookie,
3.没有针对https的url特殊设置
所以没有抓到数据,好好研究我写的这个代码,这个是可以抓到数据的。
要是帮到了你,给哥点个赞,支持下。
<?php $url = "https://www.zhihu.com/"; $ch = curl_init(); // 设置浏览器的特定header curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Host: www.zhihu.com", "Connection: keep-alive", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Upgrade-Insecure-Requests: 1", "DNT:1", "Accept-Language: zh-CN,zh;q=0.8,en-GB;q=0.6,en;q=0.4,en-US;q=0.2", 'Cookie:_za=4540d427-eee1-435a-a533-66ecd8676d7d; __utma=51854390.3169871.1440319332.1441339521.1442067491.5; __utmz=51854390.1442067491.5.5.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmv=51854390.100-1|2=registration_date=20140525=1^3=entry_date=20140525=1; q_c1=efa8c4ccdba04f63a0ba88845f485836|1451394239000|1440047640000; _xsrf=20c250b28098f92459cac05a3944d48d; cap_id="ZWQ5OGIzN2JiZWNmNGRlNGE3YTE1MTE0YTA5YjY1NjE=|1451394239|0efd13fc965c43c0fb6a7a2523b5dac4d1dac7e3"; z_c0="QUFCQXRLa3ZBQUFYQUFBQVlRSlZUY29ScWxZN0k3T1BHaFdqb1JNVlVZekNnZ0trU0xXdEdnPT0=|1451394250|02ed77acc81edbf2340fd0ce1b13618862b3674e"; unlock_ticket="QUFCQXRLa3ZBQUFYQUFBQVlRSlZUZEtMZ2xiM21FNDRmdzdsX1NnOVdieUp3M1VtY0RsaUVBPT0=|1451394250|8cf44cefb523b2973eca01f0918ef97fc03a4994"', )); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'); // 在HTTP请求头中"Referer: "的内容。 curl_setopt($ch, CURLOPT_REFERER,"https://www.baidu.com/s?word=%E7%9F%A5%E4%B9%8E&tn=sitehao123&ie=utf-8&ssl_sample=normal&f=3&rsp=0"); curl_setopt($ch, CURLOPT_ENCODING, "gzip, deflate, sdch"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT,120); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//302redirect // 针对https的设置 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); $html = curl_exec($ch); curl_close($ch); if($html === false) { echo 'Curl error: ' . curl_error($ch) . "<br>\n\r"; } else { echo $html; }

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











컬과 Pythonrequests는 모두 HTTP 요청을 보내는 강력한 도구입니다. 컬은 터미널에서 직접 요청을 보낼 수 있는 명령줄 도구인 반면, Python의 요청 라이브러리는 Python 코드에서 요청을 보내는 보다 프로그래밍적인 방법을 제공합니다. 컬을 Pythonrequestscurl 명령으로 변환하는 기본 구문은 다음과 같습니다. 컬[OPTIONS]URL 컬 명령을 Python 요청으로 변환할 때 옵션과 URL을 Python 코드로 변환해야 합니다. 다음은 컬POST 명령의 예입니다: 컬-XPOST https://example.com/api

Linux에서 컬 버전을 업데이트하려면 다음 단계를 따르세요. 현재 컬 버전을 확인하세요. 먼저 현재 시스템에 설치된 컬 버전을 확인해야 합니다. 터미널을 열고 다음 명령을 실행합니다. 컬 --version 이 명령은 현재 컬 버전 정보를 표시합니다. 사용 가능한 컬 버전 확인: 컬을 업데이트하기 전에 사용 가능한 최신 버전을 확인해야 합니다. 최신 버전의 컬을 찾으려면 컬의 공식 웹사이트(curl.haxx.se)나 관련 소프트웨어 소스를 방문하세요. 컬 소스 코드 다운로드: 컬 또는 브라우저를 사용하여 선택한 컬 버전의 소스 코드 파일(일반적으로 .tar.gz 또는 .tar.bz2)을 다운로드합니다.

PHP 기능 소개 - get_headers(): URL의 응답 헤더 정보 얻기 개요: PHP 개발에서는 웹 페이지나 원격 리소스의 응답 헤더 정보를 얻어야 하는 경우가 많습니다. PHP 함수 get_headers()를 사용하면 대상 URL의 응답 헤더 정보를 쉽게 얻고 이를 배열 형식으로 반환할 수 있습니다. 이 기사에서는 get_headers() 함수의 사용법을 소개하고 관련 코드 예제를 제공합니다. get_headers() 함수 사용법: get_header

PHP8.1 출시: 여러 요청의 동시 처리를 위한 컬 소개 최근 PHP는 여러 요청의 동시 처리를 위한 컬이라는 중요한 기능을 도입한 최신 버전의 PHP8.1을 공식 출시했습니다. 이 새로운 기능은 개발자에게 여러 HTTP 요청을 처리하는 보다 효율적이고 유연한 방법을 제공하여 성능과 사용자 경험을 크게 향상시킵니다. 이전 버전에서는 여러 요청을 처리하려면 여러 컬 리소스를 만들고 루프를 사용하여 각각 데이터를 보내고 받아야 하는 경우가 많았습니다. 이 방법으로 목적을 달성할 수는 있지만

오류의 원인은 urllib3 라이브러리의 예외 유형인 NameResolutionError(self.host,self,e)frome입니다. 이 오류의 원인은 DNS 확인에 실패했기 때문입니다. 해결을 찾을 수 없습니다. 이는 입력한 URL 주소가 정확하지 않거나 DNS 서버를 일시적으로 사용할 수 없기 때문에 발생할 수 있습니다. 이 오류를 해결하는 방법 이 오류를 해결하는 방법은 여러 가지가 있습니다. 입력한 URL 주소가 올바른지 확인하고 액세스할 수 있는지 확인하십시오. DNS 서버를 사용할 수 있는지 확인하십시오. 명령줄에서 "ping" 명령을 사용해 볼 수 있습니다. DNS 서버를 사용할 수 있는지 테스트하려면 프록시 뒤에 있는 경우 호스트 이름 대신 IP 주소를 사용하여 웹사이트에 액세스해 보세요.

처음부터 끝까지: HTTP 요청에 PHP 확장 cURL을 사용하는 방법 소개: 웹 개발에서는 종종 타사 API 또는 기타 원격 서버와 통신해야 합니다. cURL을 사용하여 HTTP 요청을 하는 것은 일반적이고 강력한 방법입니다. 이 기사에서는 PHP를 사용하여 cURL을 확장하여 HTTP 요청을 수행하는 방법을 소개하고 몇 가지 실용적인 코드 예제를 제공합니다. 1. 준비 먼저 php에 cURL 확장이 설치되어 있는지 확인하세요. 명령줄에서 php-m|grepcurl을 실행하여 확인할 수 있습니다.

요즘에는 게임을 좋아하는 많은 Windows 사용자들이 Steam 클라이언트에 접속하여 좋은 게임을 검색하고 다운로드하여 플레이할 수 있습니다. 그러나 많은 사용자의 프로필이 정확히 동일한 이름을 가질 수 있으므로 프로필을 찾거나 Steam 프로필을 다른 제3자 계정에 연결하거나 Steam 포럼에 가입하여 콘텐츠를 공유하기가 어렵습니다. 프로필에는 고유한 17자리 ID가 할당되며, 이는 동일하게 유지되며 사용자가 언제든지 변경할 수 없는 반면, 사용자 이름이나 맞춤 URL은 변경할 수 있습니다. 그럼에도 불구하고 일부 사용자는 자신의 Steamid를 모르므로 이를 아는 것이 중요합니다. 계정의 Steamid를 찾는 방법을 모르더라도 당황하지 마세요. 이 기사에서는

차이점: 1. 정의가 다릅니다. url은 균일한 리소스 위치 지정자이고 html은 하이퍼텍스트 마크업 언어입니다. 2. html에는 여러 개의 URL이 있을 수 있지만 하나의 url에는 단 하나의 html 페이지만 존재할 수 있습니다. 웹 페이지이고 url은 웹 사이트 주소를 나타냅니다.
