PHP - 디버깅 컬
PHPPHP - 디버깅 컬
나는 그것을 보내기 전에 요청의 게시물 필드가 무엇인지보고 싶습니다. (디버깅 목적으로).
내가 사용하고있는 PHP 라이브러리 (클래스)는 이미 만들어져 있으므로 (나), 이해하려고 노력하고있다.
내가 말할 수있는 한 curl_setopt ()를 사용하여 헤더와 같은 다른 옵션을 설정 한 다음 curl_exec ()를 사용하여 요청을 보냅니다.
게시물 필드가 전송되는 것을 확인하는 방법에 대한 아이디어?
해결법
-
==============================
1.
CURLOPT_VERBOSE 옵션을 활성화 할 수 있습니다.
curl_setopt($curlhandle, CURLOPT_VERBOSE, true);
CURLOPT_VERBOSE가 설정되면 출력은 STDERR 또는 CURLOPT_STDERR을 사용하여 지정된 파일에 기록됩니다. 출력은 매우 유익합니다.
tcpdump 또는 wireshark를 사용하여 네트워크 트래픽을 볼 수도 있습니다.
-
==============================
2.
CURLOPT_VERBOSE 옵션을 활성화하고 해당 정보를 (임시) CURLOPT_STDERR에 기록 할 수 있습니다.
// CURLOPT_VERBOSE: TRUE to output verbose information. Writes output to STDERR, // or the file specified using CURLOPT_STDERR. curl_setopt($handle, CURLOPT_VERBOSE, true); $verbose = fopen('php://temp', 'w+'); curl_setopt($handle, CURLOPT_STDERR, $verbose);
curl이 요청을 한 후에 읽을 수 있습니다.
$result = curl_exec($handle); if ($result === FALSE) { printf("cUrl error (#%d): %s<br>\n", curl_errno($handle), htmlspecialchars(curl_error($handle))); } rewind($verbose); $verboseLog = stream_get_contents($verbose); echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), "</pre>\n";
(원래 비슷한 대답을했지만 관련 질문에서 더 연장되었습니다.)
마지막 요청에 대한 메트릭과 같은 자세한 정보는 curl_getinfo를 통해 사용할 수 있습니다. 이 정보는 컬 요청 디버깅에도 유용 할 수 있습니다. 사용 예를 들어, 일반적으로 그것을 함수로 래핑 할 것이다 :
$version = curl_version(); extract(curl_getinfo($handle)); $metrics = <<<EOD URL....: $url Code...: $http_code ($redirect_count redirect(s) in $redirect_time secs) Content: $content_type Size: $download_content_length (Own: $size_download) Filetime: $filetime Time...: $total_time Start @ $starttransfer_time (DNS: $namelookup_time Connect: $connect_time Request: $pretransfer_time) Speed..: Down: $speed_download (avg.) Up: $speed_upload (avg.) Curl...: v{$version['version']} EOD;
-
==============================
3.
다음은 동일한 코드를 사용하는 간단한 코드입니다.
curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_STDERR, $fp);
여기서 $ fp는 오류를 출력하는 파일 핸들입니다. 예 :
$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'w');
(http://curl.haxx.se/mail/curlphp-2008-03/0064.html에서 읽기)
-
==============================
4.
PHP 오류 출력에 직접 작성하여 훨씬 간단한 방법입니다.
curl_setopt($curl, CURLOPT_VERBOSE, true); curl_setopt($curl, CURLOPT_STDERR, fopen('php://stderr', 'w'));
-
==============================
5.
CURL 요청에 대한 정보를 얻으려면 다음을 수행하십시오.
$response = curl_exec($ch); $info = curl_getinfo($ch); var_dump($info);
from https://stackoverflow.com/questions/3757071/php-debugging-curl by cc-by-sa and MIT lisence
'PHP' 카테고리의 다른 글
SimpleXML을 사용하여 네임 스페이스로 XML 구문 분석 (0) | 2018.09.04 |
---|---|
PHP로 다차원 배열 변환하기 (0) | 2018.09.04 |
정수와 같은 이름을 가진 객체 속성에 액세스하는 방법? (0) | 2018.09.04 |
mysql에 PHP 배열을 통해 여러 행 삽입 (0) | 2018.09.04 |
PHP를 사용하여 html에서 img src, title 및 alt를 추출하는 방법은 무엇입니까? (0) | 2018.09.04 |