首页 > 解决方案 > http2 请求返回 - http 错误 400。请求动词无效

问题描述

我正在编写一个 C 套接字程序来向我的 Microsoft IIS 服务器发送一个 http2 请求。以下是我当前发送的请求:

char *msg ="HEADERS\r\n+END_STREAM\r\n+END_HEADERS\r\n:method=GET\r\n:scheme=https\r\n:path=/\r\nhost=newsite.xyz.com\r\naccept=*/*\r\n\r\n";

我是 http2 协议的新手,这是我第一次制作基于RFC7540的请求

在执行运行上述语句的套接字程序时,它给了我以下错误:

Connected with ECDHE-RSA-AES256-GCM-SHA384 encryption
Received: "HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 02 Jul 2019 16:25:32 GMT
Connection: close
Content-Length: 326

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>
"

C Socket 程序的其他部分是正确的,并且已经针对其他 https 请求进行了测试。

标签: iisrequesthttp2

解决方案


推荐阅读