我正在尝试访问GitHub .diff的内容,并且我已经创建了一个Curl命令。以下命令是:
curl -H 'Authorization: token MyGitHubToken' -H "Accept: application/vnd.github.v3.diff" https://api.github.com/repos/[USR]/[REPO]/commits/[COMMITID]
该命令有效,我可以获取.diff内容。所以我把命令翻译成VB代码:
Dim url As New Uri("https://api.github.com/repos/[USR]/[REPO]/commits/[COMMITID]")
Dim myReq As HttpWebRequest = DirectCast(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
myReq.Headers.Clear()
myReq.Headers.Add("Authorization: token MyGitHubToken")
myReq.Accept = "application/vnd.github.v3.diff"
myReq.Method = "GET"
myReq.KeepAlive = False
Try
myReq.KeepAlive = False
Dim response As HttpWebResponse = CType(myReq.GetResponse(), HttpWebResponse)
Dim reader As New StreamReader(response.GetResponseStream())
Dim res As String = String.Empty
reader.Close()
response.Close()
Catch ex As System.Net.WebException
MessageBox.Show(ex.Message)
End Try
但在GetResponse()
的行中,它会引发异常:
服务器提交了协议违规。第= ResponseStatusLine。
我将KeepAlive
的属性myReq
设置为False
,但它仍然会抛出相同的错误。