Hiển thị yêu cầu cuộn tròn php

Tôi không chắc chắn 100% rằng URL và thông tin xác thực đang được ghi vào mã điều khiển cuộn tròn một cách chính xác

Tôi đang cố sử dụng curl_getinfo[$ch, CURLINFO_HEADER_OUT]; để nắm bắt yêu cầu đã gửi, nhưng nó không cung cấp cho tôi nhiều thông tin. Có cách nào để có thêm chẩn đoán chuyên sâu về yêu cầu cuộn tròn thực tế trông như thế nào không?

Đây là mã

$ch = curl_init[$url];
curl_setopt[$ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC];
curl_setopt[$ch, CURLOPT_USERPWD, "$username:$password"];       
curl_setopt[$ch, CURLOPT_HEADER, 1]; // just getting header to see if we got an auth token
curl_setopt[$ch, CURLOPT_FILE, $fh];
curl_setopt[$ch, CURLOPT_NOBODY, 1]; 
curl_setopt[$ch, CURLINFO_HEADER_OUT, 1]; // capture the header info
curl_setopt[$ch, CURLOPT_VERBOSE, 1]; // turn verbose on    
// execute the curl request 

$rh = fopen["request.txt", "w"]; // open request file handle
$verbose = fopen['php://temp', 'rw+'];
curl_setopt[$ch, CURLOPT_STDERR, $verbose];

curl_exec[$ch]; // execute request

$sent_request = curl_getinfo[$ch, CURLINFO_HEADER_OUT];
fwrite[$rh, $sent_request]; // save the request info
fclose[$rh];
!rewind[$verbose];
$verboseLog = stream_get_contents[$verbose];

echo "Verbose information:\n
", htmlspecialchars[$verboseLog], "
\n";

Tất cả điều này hoạt động hết mức, nhưng trả về 401 mỗi lần-- quản trị viên API đảm bảo với tôi rằng tên người dùng/mật khẩu tôi có là chính xác

Tôi đã tự hỏi liệu tôi có đang nhận sai giá trị URL hay không gửi đúng tên người dùng/mật khẩu, nhưng thông tin này không được in trong dữ liệu yêu cầu đã lưu

HEAD /export/auth HTTP/1.1
Authorization: Basic Y2FpcmRzdW5mYTpENWlAaVM4cw==
Host: webservices.mycompany.com
Accept: */*

Bạn có thể thấy rằng tên người dùng/mật khẩu không được ghi lại [tôi cho là để bảo mật]. URL điểm cuối tôi nghĩ là giá trị host cộng với giá trị bắt đầu của giá trị HEAD, vậy là

HEAD /export/auth HTTP/1.1
Authorization: Basic Y2FpcmRzdW5mYTpENWlAaVM4cw==
Host: webservices.mycompany.com
Accept: */*
0?

CURL là bộ thư viện được sử dụng để giúp thực hiện việc chuyển dữ liệu qua nhiều giao thức khác nhau [như HTTP, FPT. ]. Với giao thức HTTP, cURL hỗ trợ việc gửi dữ liệu sử dụng tất cả các phương thức hiện có như GET, POST, PUT, DELETE. cURL cũng hỗ trợ tạp chí dữ liệu sử dụng giao thức HTTPS. Ngoài ra, chúng ta cũng có thể thực hiện công việc xác thực yêu cầu gửi thông tin qua cURL. Xác nhận thực tế có thể được thực hiện thông qua tiêu đề thiết lập cho yêu cầu hoặc sử dụng cookie

Nội dung chính Hiển thị

  • Giới Thiệu
  • Ví dụ sử dụng CURL trong PHP
  • Ví dụ sau sử dụng CURL gọi theo phương thức GET lấy dữ liệu JSON thời tiết hiện tại của Hà Nội, Việt Nam từ dịch vụ thời gian của YAHOO
  • Ví dụ sử dụng CURL POST
  • Use CURL post data JSON
  • Tham khảo

Trong bài viết này chúng ta sẽ tìm hiểu cURL được sử dụng trong ngôn ngữ PHP như thế nào

Lưu ý. Nếu bạn sử dụng Linux thì sau khi đọc bài viết này, bạn có thể tham khảo thêm bài viết sử dụng curl trên cửa sổ dòng lệnh để biết cách sử dụng lệnh curl trên terminal của Linux

Ví dụ sử dụng CURL trong PHP

Một ứng dụng CURL thường có 3 bước cơ bản

Bước 1. Khởi tạo CURL

Bước 2. Config number for CURL

Bước 3. Thực thi CURL

Bước 4. Tắt CURL, giải nén dữ liệu

// Tạo mới một CURL

$ch = curl_init[];

 

// Cấu hình cho CURL

curl_setopt[$ch, CURLOPT_URL, "//viblo.asia/"];

 

// Thực thi CURL

curl_exec[$ch];

 

// Ngắt CURL, giải phóng

curl_close[$ch];

Trong phần cấu hình, chúng ta đặc biệt chú ý đến lệnh curl_setopt[1,2,3];

Đây là một hàm quan trọng trong CURL để xử lý dữ liệu vào

Curl_setopt[1,2,3] has 3 tham số đầu vào

  • 1 as object CURL

  • 2 is configuration name

  • 3 is value Một số cấu hình tên thông số ứng dụng với CURL

  • CURLOPT_URL. path to URL to handle

  • CURLOPT_RETURNTRANSFER. nếu đúng thì sẽ trả kết quả về hàm curl_exec nên ta phải lặp lại kết quả đó mới trong trình duyệt, nếu sai thì thực thi nó là kết quả của nó trong trình duyệt luôn

  • CURLOPT_USERAGENT. Dùng để giả lập đang gửi ở bất kỳ trình duyệt nào [tác nhân người dùng]

  • CURLOPT_TIMEOUT. CURL setting setting time of a request CURL

  • CURLOPT_FILE. Lưu kết quả vào tệp

  • CURLOPT_POSTFIELDS. value of it main is an array of key => value, match with name and value of it in the input cards when submit FORM …. Ngoài ra còn có rất nhiều Tùy chọn với các giá trị khác nữa đối với hàm CURL_setopt mà trong bài viết này không thể liệt kê hết được. Nếu các bạn thực sự quan tâm có thể vào trang chủ của php để tìm hiểu thêm. http. //php. net/thủ công/vi/chức năng. curl-setopt. php

Ví dụ sau sử dụng CURL gọi theo phương thức GET lấy dữ liệu JSON thời tiết hiện tại của Hà Nội, Việt Nam từ dịch vụ thời gian của YAHOO

Chủ Đề