2012-02-23 32 views
5

Tôi đang có các truy vấn để truy vấn biểu mẫu web bằng CURL với tập lệnh PHP. Tôi nghi ngờ, rằng tôi đang gửi một cái gì đó mà máy chủ web không thích. Để xem những gì CURL thực sự gửi tôi muốn xem toàn bộ tin nhắn đi đến máy chủ web.Xem những gì CURL gửi từ tập lệnh PHP

Làm cách nào tôi có thể thiết lập CURL để cung cấp cho tôi sản lượng đầy đủ?

tôi đã làm

curl_setopt($ch, CURLOPT_VERBOSE, TRUE); 

nhưng onyl đó mang lại cho tôi một phần của tiêu đề. Nội dung tin nhắn không được hiển thị.

Trả lời

3

Cảm ơn mọi câu trả lời! Sau khi tất cả, họ nói rằng điều đó là không thể. Tôi đi xuống đường và làm quen với Wireshark. Không phải là một nhiệm vụ dễ dàng nhưng chắc chắn giá trị nỗ lực.

+0

Wireshark sẽ không giúp đỡ nếu bạn yêu cầu điểm cuối https vì dữ liệu được mã hóa. –

-1

Nếu bạn muốn nội dung không thể bạn chỉ cần đăng nhập? Tôi đang làm một cái gì đó tương tự cho API tôi gọi

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, self::$apiURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_POST, count($dataArray)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $dataString); 

$logger->info("Sending " . $dataString); 
self::$results = curl_exec($ch); 
curl_close($ch); 

$decoded = json_decode(self::$results); 
$logger->debug("Received " . serialize($decoded)); 

Hoặc thử

curl_setopt($ch, CURLOPT_STDERR, $fp); 
+0

Đó không phải là những gì tôi đang tìm kiếm. Tôi có thể kiểm tra các biến của tôi với XDebug, không sao cả. Tôi muốn xem toàn bộ yêu cầu HTTP, tiêu đề và nội dung khi nó được gửi bởi CURL. – BetaRide

+1

@BetaRide Theo tôi biết, không thể xem toàn bộ nội dung mà không sử dụng WireShark hoặc tcpdump. Gần nhất bạn có thể nhận được là hiển thị các tiêu đề và nội dung với nhau. – Bot

-2

tôi sẽ khuyên bạn sử dụng curl_getinfo.

<?php 
curl_exec($ch); 
    $info = curl_getinfo($ch); 
     if (!empty($info) && is_array($info) { 
      print_r($info); 
      } else { 
        throw new Exception('Curl Info is empty or not an array'); 
     }; 
?> 
+0

Điều này chỉ hiển thị rất nhiều chi tiết về phản hồi. Những gì tôi cần là tất cả chi tiết về yêu cầu (ví dụ: những gì xảy ra với máy chủ web). – BetaRide

1

Các bạn đã thử CURLINFO_HEADER_OUT?

Trích dẫn hướng dẫn PHP cho curl_getinfo:

CURLINFO_HEADER_OUT - Chuỗi yêu cầu gửi. Để làm việc này, hãy thêm tùy chọn CURLINFO_HEADER_OUT vào tay cầm bằng cách gọi curl_setopt()

+0

Cũng như hướng dẫn sử dụng chính xác nói: chỉ tiêu đề. Nhưng tôi cần toàn bộ điều, tiêu đề và nội dung. – BetaRide

+0

Tại sao không chỉ POST điều đến một số địa chỉ khác và gỡ lỗi? Nếu cURL thực sự vít một cái gì đó lên, nó có thể cũng nằm anyway. –

+0

Plus, có nhiều khả năng hơn về tiêu đề. Do bạn muốn đăng biểu mẫu web (trên một số trang web mà bạn không kiểm soát, tôi đoán), bạn có chắc đó không phải là vấn đề về cookie không? Hoặc User-Agent chẳng hạn. Hoặc cái gì khác. Tại sao bạn không đăng toàn bộ mã của mình và có thể chúng tôi có thể chẩn đoán vấn đề nhanh hơn theo cách đó. –

Các vấn đề liên quan