0
임베디드 장치에서 내 웹 서버로 POST 요청을 보내려고하지만 웹 서버가 오류 400을 반환합니다. HTTP POST 요청이 400을 반환하고 SERVER_PORT_SECURE가 사용되지 않습니다.
이
요청 나는 내 서버의 포트 80에 보내고있다 : 다음POST /api_back.php HTTP/1.1
Host: mysubdomain.mydomain.com
User-Agent: AppleWebKit/531.21.10
Accept: */*
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Accept-Charset: utf-8, us-ascii
Pragma: no-cache
data=10,1,1,1,1,-48%0D%0A10,1,1,1,1,-48%0D%0A10,1,1,1,1,-47%0D%0A10,1,1,1,1,-48%0D%0A10,1,1,1,1,-48%0D%0A10,1,1,1,1,-47%0D%0A10,1,1,1,1,-47%0D%0A
나는 다음과 같은 응답을 얻을 :
http/1.1 400 bad request
date: sun, 08 jan 2017 16:59:54 gmt
server: apache/2.4.23 (unix) openssl/1.0.1e-fips mod_bwlimited/1.4
accept-ranges: bytes
connection: close
content-type: text/html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>400 Bad Request</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
\t font-family: Verdana, Arial, Helvetica, sans-serif;
\t font-size: 12px;
\t background-color:#367E8E;
\t scrollbar-base-color: #005B70;
\t scrollbar-arrow-color: #F3960B;
\t scrollbar-DarkShadow-Color: #000000;
\t color: #FFFFFF;
\t \t \t margin:0;
}
a { color:#021f25; text-decoration:none}
h1 {
\t font-size: 18px;
\t color: #FB9802;
\t padding-bottom: 10px;
\t background-image: url(sys_cpanel/images/bottombody.jpg);
\t background-repeat: repeat-x;
\t padding:5px 0 10px 15px;
\t \t \t margin:0;
}
#body-content p {
\t padding-left: 25px;
\t padding-right: 25px;
\t line-height: 18px;
\t padding-top: 5px;
\t padding-bottom: 5px;
}
h2 {
\t font-size: 14px;
\t font-weight: bold;
\t color: #FF9900;
\t padding-left: 15px;
}
</style>
</head>
<body>
<div id="body-content">
<!-- start content-->
<!--
instead of REQUEST_URI, we could show absolute URL via:
http://HTTP_HOST/REQUEST_URI
but what if its https:// or other protocol?
SERVER_PORT_SECURE doesn't seem to be used
SERVER_PORT logic would break if they use alternate ports
-->
<h1>400 Bad Request</h1>
<p>Your browser sent a request that this server could not understand:</p>
<blockquote>
(none) (port 80)
</blockquote>
<p>
Please forward this error screen to 31.186.174.155's
<a href="mailto:[email protected]?subject=Error message [400] 400 Bad Request for (none) port 80 on Sunday, 08-Jan-2017 17:59:54 CET">
WebMaster</a>.
</p>
<hr />
<!-- end content -->
</div>
</body>
</html>
오류가 호스트 이름을 제안하는 것을 uri 요청이 잘못되었으므로 POST 링크의 전체 URL도 시도했습니다.
POST http://mysubdomain.mydomain.com/api_back.php HTTP/1.1
Host: mysubdomain.mydomain.com
...
행운이 없습니다. 다른 것들은 저도 같은 오류가 발생하는 것 호스트 헤더
그들 모두에
- 다른 사용자 에이전트
- HTTP를/1.0
- 없음 하위 도메인을 시도했다.
누구든지 제안 하시겠습니까? 헤더가 누락 되었습니까? 헤더에 오류가 있습니까?
도움이나 의견을 보내 주시면 감사하겠습니다.
감사합니다, 유사한 문제를 찾고 당신의 사람들을 위해 로버트
요청에 'Content-Length' 헤더가 없음을 알았습니다. 몇 가지 테스트를 마치면 아파치가 필요하지는 않지만 추가 해보십시오. – Rei