Yêu cầu HTTP không thành công HTTP 1.1 400 Yêu cầu sai file_get_contents

Thực sự rất tệ khi bạn trả Rs. 2000 mỗi tháng cho api. Được mong đợi nhiều hơn thế này từ Zerodha vì họ luôn tuyên bố rằng họ đang nỗ lực rất nhiều vào công nghệ tại Zerodha

PHP - [hàm. tập tin lấy nội dung]. Không thể mở luồng. Yêu cầu http không thành công. - Hướng dẫn lập trình PHP miễn phí, Trợ giúp, Mẹo, Thủ thuật và hơn thế nữa

PHP - File_get_contents không mở được luồng - Hướng dẫn, trợ giúp, mẹo, thủ thuật lập trình PHP miễn phí, v.v.

1. Lỗi cú pháp chuỗi URL. Lỗi 400 Bad Request có thể xảy ra do URL được nhập không chính xác, cú pháp không đúng định dạng hoặc URL chứa các ký tự không hợp lệ. Điều này rất dễ thực hiện do nhầm lẫn và có thể xảy ra nếu một URL được mã hóa không chính xác

cùng với trạng thái "400 Yêu cầu không hợp lệ". Ngoài ra, vì bạn đang mở một URL nên tham số thứ hai của file_get_contents phải là sai [không có ích gì khi tìm kiếm đường dẫn bao gồm, nếu bạn biết nó không có ở đó]. Để vẫn nhận được phản hồi từ Facebook và bỏ qua lỗi, bạn có thể làm. $url = 'http. // đồ thị. Facebook. com/10150624051911279/photos/all'; . //www. php

Nó được gọi là lỗi 400 vì đó là mã trạng thái HTTP mà máy chủ web sử dụng để mô tả loại lỗi đó. Lỗi 400 Yêu cầu không hợp lệ có thể xảy ra do có một lỗi đơn giản trong yêu cầu. Có lẽ bạn đã nhập sai URL và máy chủ không thể trả về Lỗi 404 vì một lý do nào đó. Hoặc có thể trình duyệt web của bạn đang cố sử dụng cookie đã hết hạn hoặc không hợp lệ

Windows Update cũng có thể báo cáo lỗi HTTP 400 nhưng chúng hiển thị dưới dạng mã lỗi 0x80244016 hoặc với thông báo WU_E_PT_HTTP_STATUS_BAD_REQUEST. Lỗi 400 được báo cáo cho một liên kết trong ứng dụng Microsoft Office sẽ thường xuất hiện dưới dạng Máy chủ từ xa trả về lỗi. [400] Yêu cầu sai. tin nhắn trong một cửa sổ bật lên nhỏ

PHP - Không thể mở luồng. Yêu cầu http không thành công. - Hướng dẫn lập trình PHP miễn phí, Trợ giúp, Mẹo, Thủ thuật và hơn thế nữa

PHP - Cần trợ giúp với http Không thể mở luồng - Hướng dẫn, trợ giúp, mẹo, thủ thuật lập trình PHP miễn phí, v.v.

PHP - Không thể mở luồng. Không có tệp hoặc thư mục như vậy trong - Hướng dẫn lập trình PHP miễn phí, trợ giúp, mẹo, thủ thuật và hơn thế nữa

不能用此函数获取网页内容,会报failed to open stream. Yêu cầu HTTP không thành công. HTTP/1. 1 400 Bad Request的错,但是手动执行该URL的时候就可以。

网上查了很多解决办法,都不可以不行。

包括修改user_agent=”Mozilla/4. 0 [tương thích; MSIE 6. 0; . 0]” ,

改换curl

1  public function geturldata[$url] { 
2         $ch = curl_init[]; 
3         curl_setopt [$ch, CURLOPT_URL, $url]; 
4         curl_setopt [$ch, CURLOPT_RETURNTRANSFER, 1]; 
5         curl_setopt [$ch, CURLOPT_CONNECTTIMEOUT,10]; 
6         $content = curl_exec[$ch];
7         return $content;
8 } 

或者是增加参数使函数不报错等方法。

1 $context = stream_context_create[array[
2   'http' => array[
3      'ignore_errors'=>true,
4      'method'=>'GET'
5      // for more options check //www.php.net/manual/en/context.http.php
6    ]
7 ]];
8 $response = json_decode[file_get_contents[$url, false, $context]];

最后经过观察参数发现,我的URL其中一个参数中间是有空格的。

导致URL断掉了,所以不能执行。

所以我把可能会有空格的参数都加上了urlencode就可以了。

4ever Tình yêu cho cô gái của tôi

đã đăng @ 2018-05-30 13. 53   呼尔查•恩和  阅读[ 1814 ]  评论[ 0 ]  编辑  收藏  举报

Tôi đã xây dựng Cơ sở dữ liệu DVD cục bộ bằng Codeigniter, Với tên phim, v.v. Điều tôi đang muốn làm là tải thêm dữ liệu cho phim từ API IMDB này

Tuy nhiên tôi nhận được lỗi sau

Một Lỗi PHP đã gặp phải

mức độ nghiêm trọng. Cảnh báo

Thông điệp. file_get_contents[http. //www. imdbapi. com/?i=&t=2 Fast 2 Furious] [chức năng. tập tin lấy nội dung]. không thể mở luồng. Yêu cầu HTTP không thành công. HTTP/1. 1 400 Yêu cầu sai

tên tệp. bộ điều khiển/dvd. php

Số dòng. 92

Sao chép URI này vào thanh địa chỉ sẽ trả về dữ liệu json, nhưng khi tải vào trang của tôi, nó báo lỗi đó

Điều đáng chú ý là tôi đang chạy trên máy chủ cục bộ trang web cụ thể này. Vì tôi chỉ mới làm quen với Codeigniter

Mã của tôi là…

            // Send Query To IMDB Api

        $film_q = $film_name[0]->title;
        $imdb_uri = "//www.imdbapi.com/?i=&t=$film_q";
        $json = file_get_contents[$imdb_uri];
        $json = json_decode[$json];

        print_r[$json];

CHỈNH SỬA. Nhìn xa hơn vào điều này. Các tên phim đơn từ dường như tải ổn, Vì vậy, tôi cho rằng bằng cách nào đó tôi cần đi sâu vào dấu "+" vào khoảng trắng?

Giải pháp tốt nhất

thử urlencode[]

 $film_q   = urlencode[$film_name[0]->title];
 $imdb_uri = "//www.imdbapi.com/?i=&t=$film_q";

Giải pháp liên quan

PHP file_get_contents[] trả về “không thể mở luồng. Yêu cầu HTTP không thành công. ”

Hãy thử sử dụng cURL


Php – file_get_contents không mở được luồng. Yêu cầu HTTP không thành công. HTTP/1. 1 400 Yêu cầu sai trong

Sau khi thử nhiều cách, lý do của lỗi này là do khách hàng cung cấp cho tôi tài liệu chứa các đường dẫn url có dấu gạch ngang không thể đọc được. Khi tôi sao chép và dán url "http. //còn lại. vivapvd. com/agenda/52/11‐02‐2015/" thành từ, nó xuất hiện dưới dạng "http. //còn lại. vivapvd. com/agenda/52/11%E2%80%9002%E2%80%902015/"

file_get_contents trong laravel là gì?

file_get_contents[] đọc tệp thành một chuỗi . Hàm này là cách ưa thích để đọc nội dung của tệp thành một chuỗi. Nó sẽ sử dụng các kỹ thuật ánh xạ bộ nhớ, nếu điều này được máy chủ hỗ trợ, để nâng cao hiệu suất.

CURL có nhanh hơn file_get_contents không?

Đây là chủ đề cũ nhưng trong thử nghiệm cuối cùng của tôi trên một API của tôi, cURL nhanh hơn và ổn định hơn . Đôi khi file_get_contents theo yêu cầu lớn hơn cần hơn 5 giây khi cURL chỉ cần từ 1. 4 ăn 1. 9 giây nhanh hơn gấp đôi.

file_get_contents có đồng bộ không?

file_get_contents chắc chắn đồng bộ .

Tại sao file_get_contents trả về false?

Máy chủ của bạn có thể đang ngăn bạn mở tệp có tại URL bằng file_get_contents . nếu file_get_contents[] trả về false thì nó không thể đọc tệp. Nếu giá trị là NULL thì chính chức năng đó bị vô hiệu hóa.

Chủ Đề