c# - C# 到 R - HTTP GET
问题描述
我有一个来自相当多的文档化 API 的示例代码,但它是用 C# 编写的,我对语法不是很熟悉。
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Xml.Linq;
public class SimpleRestClient
{
public void FetchANotice()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = CreateBasicHeader("USER", "PASS");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/xml"));
var task = client.GetStreamAsync("http://XYZ/Doffin/notice/2013-1234567");
task.Wait();
using (var stream = task.Result)
{
var xdoc = XDocument.Load(stream);
// XML document fetched, do something with it
Console.Out.WriteLine(xdoc);
}
}
private static AuthenticationHeaderValue CreateBasicHeader(string username, string password)
{
var byteArray = Encoding.UTF8.GetBytes(username + ":" + password);
return new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
}
}
我想要的是使用 R 的 GET 请求,特别是 HTTR。这是我迄今为止最好的尝试:
dat <- httr::VERB(
verb = "GET", url = "https://epsapiv3-doffin.test.eu-supply.com",
httr::add_headers(
Accept = "application/json",
Content-Type = "application/json",
Authorization = "Basic {base64_encode(Username:Password)}"
)
)
解决方案
推荐阅读
- java - 为什么java.lang.Object不能被转换成T?
- javascript - 如何从 React 中的数组中获取值?
- ios - SwiftUI:视图加载后立即显示 TextField 键盘?
- amazon-redshift - 如何从受限 VPC 中访问 redshift 区域端点?
- google-apps-script - 将数组传递给 WebApp 谷歌应用脚本
- php - 如何在 Laravel 7 中为不同的角色类型使用相同的视图文件?
- python - 尝试复制 Pandas DataFrame 行 X 次,但因列值而异
- c# - DataGridView:如何根据数据源值更改单元格颜色
- java - 如何检查输入是否符合条件?
- regex - 正则表达式在 Google 表格中提取 IP 地址的最后两个八位字节(第 3 和第 4 个八位字节)