无法从C#DLL进行http调用

纳纳瓦纳拉

我已经在c#Mac上的Visual Studio 2019中创建了一个库。我正在尝试公开一种方法,dll方法应具有进行http调用并返回响应的能力。

但是我得到了错误Cannot send a content-body with this verb-type

我是的新手c#,所以我只是从网上复制粘贴代码。请告诉我我在做什么错。

我的图书馆,

using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;

namespace ImageTrainer
{
public class Trainer
{
    public static void TrainImage()
    {
        System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)WebRequest.Create("https://www.abcd.com/rest/city/search/Bang");

        request.Method = "GET";
        request.ContentType = "application/json";
        // // request.ContentLength = DATA.Length;
        StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
        // // requestWriter.Write(DATA);
        requestWriter.Close();

        WebResponse webResponse = request.GetResponse();
        Stream webStream = webResponse.GetResponseStream();
        StreamReader responseReader = new StreamReader(webStream);
        string response = responseReader.ReadToEnd();
        Console.WriteLine(response);
        //     responseReader.Close();
        //     Console.WriteLine(response);
    }
}
}

我正在另一个控制台应用程序中使用该库。

using System;
using ImageTrainer;
namespace ImageTrainerTest
{
class MainClass
{
    public static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
        Trainer.TrainImage();
    }
}
}

我犯什么错误?

罗曼·帕维尔科

删除以下两行:

StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
requestWriter.Close();

在发出GET请求时,您不应有任何正文,否则应使用POST动词。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章