如何发送/接收C#卷曲/ API请求 [英] How to send / receive cURL/API requests in C#

查看:495
本文介绍了如何发送/接收C#卷曲/ API请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我的C#PROGRAMM问题,发送或接收卷曲请求到一个在线电话系统,我希望能得到一些帮助有:)

i have problems with my c# programm to send or receive cURL requests to a online telephone system, i hope to get some help there :)

我要发这样的命令:

curl https://api.placetel.de/api/test \
    -d 'api_key=XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX'

服务器在XML发回

<?xml version="1.0" encoding="UTF-8"?>
<hash>
  <result>1</result>
  <result-code>success</result-code>
  <descr>test login successful v1.1</descr>
</hash>

我与尝试WebRequest类(MSDN),但我不获取连接。

i have try with the WebRequest Class (msdn) but i don´t get a connection.

错误System.Net.WebException在System.dll中连接服务器失败

"Error System.Net.WebException in System.dll" Connection to server failed

WebRequest request = WebRequest.Create("https://api.placetel.de/");           
            request.Method = "POST";           
            string postData = "-d 'api_key=XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX'";
            byte[] byteArray = Encoding.UTF8.GetBytes(postData);
            request.ContentType = "/api/test.xml";

有从电话线上系统提供商的API 文档,但只在德语。

问候

推荐答案

我使用preFER的 Web客户端

I prefer using WebClient

WebClient wc = new WebClient();
var buf = wc.UploadValues("https://api.placetel.de/api/test", 
                           new NameValueCollection() { { "api_key", "XXXX" } });
var xml = Encoding.UTF8.GetString(buf);

的HttpClient

HttpClient client = new HttpClient();
var content = new FormUrlEncodedContent(new Dictionary<string, string>() { 
        { "api_key", "XXXX" } 
});
var resp =  await client.PostAsync("https://api.placetel.de/api/test",content);
var xml = await resp.Content.ReadAsStringAsync();

这有方法更容易使用。

which have methods easier to use.

BTW, -d(或--data)是一个参数的卷曲的,它不会被发送到服务器

BTW, -d (or --data) is a parameter of curl, it is not sent to server

PS:您可能也想阅读一些关于的ContentType http://www.freeformatter.com/mime-types-list.html

这篇关于如何发送/接收C#卷曲/ API请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆