Foxtable(狐表)用户栏目专家坐堂 → 调用其他api接口的时候遇到 ContentLength ,看了一下教程HttpClient没有地方可以设置这个参数


  共有4484人关注过本帖树形打印复制链接

主题:调用其他api接口的时候遇到 ContentLength ,看了一下教程HttpClient没有地方可以设置这个参数

帅哥哟,离线,有人找我吗?
lgzhao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2091 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2023/4/24 4:59:00 [显示全部帖子]

我也遇到同样问题导致接口无法使用。
Foxtable的httpclient类,底层的HttpWebRequest对象,发送的时候缺少ContentLength属性,对方接口不认。 
这个问题最好解决一下或者升级.netframework版本到4.8,到时候我改用其他的类来发。

Dim request As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(ExchangeURL ), System.Net.HttpWebRequest)
request.Method = "POST"

Dim postData As String = "grant_type=refresh_token&refresh_token=" & _XeroInfo.refresh_token
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)

request.C
request.ContentLength = byteArray.Length

request.Headers.Add("Authorization", "Basic " & base64EncodedText)

Dim dataStream As System.IO.Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()

Dim response As System.Net.HttpWebResponse = CType(request.GetResponse(), System.Net.HttpWebResponse)
Dim responseStream As System.IO.Stream = response.GetResponseStream()
Dim reader As New System.IO.StreamReader(responseStream, Encoding.UTF8)

Dim responseContent As String  = reader.ReadToEnd()

responseStream.Close()
response.Close()

 回到顶部
帅哥哟,离线,有人找我吗?
lgzhao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:304 积分:2091 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2023/4/24 9:16:00 [显示全部帖子]

这个是我自己用得替代方法。我的意思是Foxtable自带的httpclient没有这个参数,导致有些接口无法用这个类了。

 回到顶部