파이썬 소켓 잘못된 요청 400

콜린 리

python (2.7.6) 소켓을 사용하여 웹 사이트에서 텍스트 파일을 요청하려는 코드가 있습니다.

import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
h='58.68.237.xxx'
p=80
s.connect((h,p))
m='GET / HTTP/1.1\r\n\r\n'
s.sendall(m)
r=s.recv(4096)
print r

그리고 출력을 얻었습니다.

HTTP/1.1 400 Bad Request\r\n
Date: Mon, 13 Oct 2014 02:46:15 GMT\r\n
Server: Apache/2.2.3 (CentOS)\r\n
Content-Length: 300\r\nConnection: close\r\n
Content-Type: text/html; charset=iso-8859-1\r\n
\r\n
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0 //EN">\n
<html><head>\n
<title>400 Bad Request</title>\n
</head><body>\n
<h1>Bad Request</h1>\n
<p>Your browser sent a request that this server could not understand.<br/>\n
</p>\n<hr>\n
<address>Apache/2.2.3 (CentOS) Server at 127.0.0.1 Port 80</address>\n
</body></html>\n

질문 : 내 코드에 어떤 문제가 있습니까? 좋은 요청을 위해 어떻게 해결할 수 있습니까?

아담 로젠 필드

HTTP 1.1에서는 Host모든 요청과 함께 헤더 를 전송 해야합니다. 에서 RFC 1626 섹션 14.23 :

클라이언트는 모든 HTTP / 1.1 요청 메시지에 Host 헤더 필드를 포함해야합니다. [...] 모든 인터넷 기반 HTTP / 1.1 서버는 호스트 헤더 필드가없는 모든 HTTP / 1.1 요청 메시지에 400 (잘못된 요청) 상태 코드로 응답해야합니다.

Host헤더 의 이유는 여러 웹 사이트가 동일한 IP 주소에서 제공되는 경우 서버가 액세스중인 웹 사이트를 명확히하기위한 것입니다.

또는 HTTP 1.1 대신 HTTP 1.0을 사용할 수 있습니다. HTTP 1.0에는 Host헤더 가 필요하지 않으므로 연결하려는 서버에 단일 웹 사이트 만있는 경우 작동 할 수 있지만 여러 웹 사이트를 호스팅하는 경우 여전히 400 오류가 발생합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

소켓이있는 Python GET 요청-400 잘못된 요청

분류에서Dev

잘못된 요청 소켓 파이썬

분류에서Dev

Java 소켓이 HTTP / 1.1 400 잘못된 요청을받습니다.

분류에서Dev

Nginx, AWS, EB, Docker, TCP 소켓 구성 400 잘못된 요청

분류에서Dev

Python 소켓 GET 요청으로 400 잘못된 요청 오류 받기

분류에서Dev

이미지 소스 바인딩에 대한 VueJS 400 잘못된 요청

분류에서Dev

요청 라이브러리의 잘못된 요청 오류 400

분류에서Dev

AJAX : 400 잘못된 요청

분류에서Dev

$ .ajax 400 잘못된 요청

분류에서Dev

Angularjs 잘못된 요청 (400)

분류에서Dev

Guzzle 400 잘못된 요청

분류에서Dev

Python 요청 POST-400-Python 요청이있는 잘못된 요청

분류에서Dev

개체 속성이 잘못된 경우 WCF (400) 잘못된 요청

분류에서Dev

Python 3에서 소켓을 사용하여 400 잘못된 요청 오류 받기

분류에서Dev

판매 파트너 API Amazon 400 잘못된 요청

분류에서Dev

파일 업로드시 잘못된 요청 (400), Flask

분류에서Dev

Zeep : 400 클라이언트 오류 : 잘못된 URL 요청

분류에서Dev

400 잘못된 요청으로 Jersey FormDataParam이 실패 함

분류에서Dev

SQLalchemy / wtforms 업데이트 문제-400 잘못된 요청

분류에서Dev

HTTP 멀티 파트 요청에 대한 400 잘못된 요청 오류

분류에서Dev

오류 : 400 : 잘못된 요청 : 요청에 사진이 없습니다.

분류에서Dev

IdentityServer3 ResourceOwner Angular 요청이 400 잘못된 요청을 반환합니다.

분류에서Dev

Firebase 호스팅 400 잘못된 요청

분류에서Dev

Django Localhost의 잘못된 요청 (400)

분류에서Dev

POST 400 잘못된 요청 React 인증

분류에서Dev

400 잘못된 Perlbrew 설치 요청

분류에서Dev

AJAX 오류 : 400 잘못된 요청

분류에서Dev

VSTS Nuget 푸시 : 400 (잘못된 요청)

분류에서Dev

400 잘못된 요청 SEC-43

Related 관련 기사

  1. 1

    소켓이있는 Python GET 요청-400 잘못된 요청

  2. 2

    잘못된 요청 소켓 파이썬

  3. 3

    Java 소켓이 HTTP / 1.1 400 잘못된 요청을받습니다.

  4. 4

    Nginx, AWS, EB, Docker, TCP 소켓 구성 400 잘못된 요청

  5. 5

    Python 소켓 GET 요청으로 400 잘못된 요청 오류 받기

  6. 6

    이미지 소스 바인딩에 대한 VueJS 400 잘못된 요청

  7. 7

    요청 라이브러리의 잘못된 요청 오류 400

  8. 8

    AJAX : 400 잘못된 요청

  9. 9

    $ .ajax 400 잘못된 요청

  10. 10

    Angularjs 잘못된 요청 (400)

  11. 11

    Guzzle 400 잘못된 요청

  12. 12

    Python 요청 POST-400-Python 요청이있는 잘못된 요청

  13. 13

    개체 속성이 잘못된 경우 WCF (400) 잘못된 요청

  14. 14

    Python 3에서 소켓을 사용하여 400 잘못된 요청 오류 받기

  15. 15

    판매 파트너 API Amazon 400 잘못된 요청

  16. 16

    파일 업로드시 잘못된 요청 (400), Flask

  17. 17

    Zeep : 400 클라이언트 오류 : 잘못된 URL 요청

  18. 18

    400 잘못된 요청으로 Jersey FormDataParam이 실패 함

  19. 19

    SQLalchemy / wtforms 업데이트 문제-400 잘못된 요청

  20. 20

    HTTP 멀티 파트 요청에 대한 400 잘못된 요청 오류

  21. 21

    오류 : 400 : 잘못된 요청 : 요청에 사진이 없습니다.

  22. 22

    IdentityServer3 ResourceOwner Angular 요청이 400 잘못된 요청을 반환합니다.

  23. 23

    Firebase 호스팅 400 잘못된 요청

  24. 24

    Django Localhost의 잘못된 요청 (400)

  25. 25

    POST 400 잘못된 요청 React 인증

  26. 26

    400 잘못된 Perlbrew 설치 요청

  27. 27

    AJAX 오류 : 400 잘못된 요청

  28. 28

    VSTS Nuget 푸시 : 400 (잘못된 요청)

  29. 29

    400 잘못된 요청 SEC-43

뜨겁다태그

보관