Tag: restsharp

当响应头具有位置字段时,RestSharp返回空值

我的rest要求: RestSharp.RestClient uplClient = new RestSharp.RestClient(); RestSharp.RestRequest request = new RestSharp.RestRequest(IMAGE_UPLOAD_URI, Method.POST); request.AddParameter(“user”, USER_HASH); request.AddParameter(“apikey”, API_KEY); request.AddFile(“Filedata”, file, “test.jpg”,”image/jpeg”); uplClient.ExecuteAsync(request, (response) => { callback(response.Content, null); if (response.StatusCode == HttpStatusCode.OK) { MessageBox.Show(“Upload completed succesfully…\n” + response.Content); } else { MessageBox.Show(response.StatusCode + “\n” + response.StatusDescription); } }); 通过Fiddler检查响应时,原始数据是: HTTP/1.1 302 Moved Temporarily Server: nginx Date: Wed, 05 […]

从RestSharp客户端将int列表传递给Web API

当我使用REST Sharp下面的代码时,我无法传递listOfSelectedTicketsIds它总是为null。 请求Rest .net客户端 var _stDeveloperApi = new RestClient(“http://127.0.0.1/”); var url = string.Format(“api/v1/SignalR/MultiClickMode”); var listOfSelectedTicketsIds = new List { 2, 3 }; var request = new RestRequest(url, Method.GET); request.AddParameter(“listOfSelectedTicketsIds”, listOfSelectedTicketsIds, ParameterType.GetOrPost); var response = _stDeveloperApi.Execute(request); Web API方法 [HttpGet] public HttpResponseMessage MultiClickMode(List listOfSelectedTicketsIds) { var response = new HttpResponseMessage(); try { } catch (Exception ex) { […]

使用RestSharp构建XML请求

我正在尝试使用RestSharp和C#使用REST API。 我正在使用的API文档提供了一个示例XML请求: EX0000000 07700900654 07700900123 SMS Hello Mr Sands. 07700900124 SMS Hello Mr Mayo. 我正在努力了解如何以他们想要的格式构建请求(多个元素称为“消息”) 我已经为RestSharp创建了这些类来进行序列化: public class messages { public string accountreference { get; set; } public string from { get; set; } public message message { get; set; } } public class message { public string to { get; set; } public […]

无法使用RestSharp发送cookie

我一直在尝试使用几种不同的方法在Windows Phone上访问基于REST的API,但我似乎遇到了将cookie附加到请求的所有问题。 我已经尝试过WebClient方法(现在似乎已经标记为SecurityCritical,因此您不能再inheritance它并添加代码)。 我简要地看了一下看起来很麻烦的HttpWebRequest 。 现在我正在使用RestSharp,它看起来很不错,但我仍然遇到问题,我的cookie在发送时没有被添加到请求中。 我的代码如下: // … some additional support vars … private RestClient client; public ClassName() { client = new RestClient(); client.BaseUrl = this.baseAddress.Scheme + “://” + baseAddress.DnsSafeHost; } public void GetAlbumList() { Debug.WriteLine(“Init GetAlbumList()”); if (this.previousAuthToken == null || this.previousAuthToken.Length == 0) { throw new MissingAuthTokenException(); } RestRequest request = new […]

如何将json添加到RestSharp POST请求中

我有以下JSON字符串作为字符串参数传递到我的c#代码 – AddLocation(string locationJSON): {“accountId”:”57abb4d6aad4″,”address”:{“city”:”TEST”,”country”:”TEST”,”postalCode”:”TEST”,”state”:”TEST”,”street”:”TEST”},”alternateEmails”:[{“email”:”TEST”}],”alternatePhoneNumbers”:[{“phoneNumber”:”TEST”}],”alternateWebsites”:[{“website”:”TEST”}],”auditOnly”:false,”busName”:”593163b7-a465-43ea-b8fb-e5b967d9690c”,”email”:”TEST EMAIL”,”primaryKeyword”:”TEST”,”primaryPhone”:”TEST”,”rankingKeywords”:[{“keyword”:”TEST”,”localArea”:”TEST”}],”resellerLocationId”:”5461caf7-f52f-4c2b-9089-2ir8hgdy62″,”website”:”TEST”} 我正在尝试将JSON添加到像这样的RestSharp POST请求但它不起作用: public string AddLocation(string locationJSON) { var client = new RestClient(_authorizationDataProvider.LocationURL); var request = new RestRequest(Method.POST); request.RequestFormat = DataFormat.Json; request.AddHeader(“cache-control”, “no-cache”); request.AddHeader(“Authorization”, _authorizationResponse.Token); … request.AddJsonBody(locationJSON); var response = client.Execute(request); } 响应回复为“错误请求”。 如果我在调试器中检查响应,这是我得到的: {“code”:”invalid_json”,”details”:{“obj.address”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.rankingKeywords”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.alternatePhoneNumbers”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.busName”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.accountId”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.alternateEmails”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.alternateWebsites”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.email”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.primaryKeyword”:[{“msg”:[“error.path.missing”],”args”:[]}],”obj.auditOnly”:[{“msg”:[“error.path.missing”],”args”:[]}]}} 我在调用AddJsonBody之后检查了请求参数,并且值似乎包括双引号的转义序列 – 这似乎是个问题。 {\”accountId\”:\”57abb4d6aad4def3d213c25d\”,\”address\”:{\”city\”:\”TEST\”,\”country\”:\”TEST\”,\”postalCode\”:\”TEST\”,\”state\”:\”TEST\”,\”street\”:\”TEST\”},\”alternateEmails\”:[{\”email\”:\”TEST\”}],\”alternatePhoneNumbers\”:[{\”phoneNumber\”:\”TEST\”}],\”alternateWebsites\”:[{\”website\”:\”TEST\”}],\”auditOnly\”:false,\”busName\”:\”84e7ef98-7a9f-4805-ab45-e852a4b078d8\”,\”email\”:\”TEST EMAIL\”,\”primaryKeyword\”:\”TEST\”,\”primaryPhone\”:\”TEST\”,\”rankingKeywords\”:[{\”keyword\”:\”TEST\”,\”localArea\”:\”TEST\”}],\”resellerLocationId\”:\”06b528a9-22a6-4853-8148-805c9cb46941\”,\”website\”:\”TEST\”} 所以我的问题是如何将json字符串添加到请求主体?

Adobe Sign(echo sign)API使用C#发送文档

好吧,我对使用API​​的理解有限 我试图掌握Adobe Sign API并且遇到了死胡同,在那里测试页面我输入了这个并且它有效 但我不知道如何在C#中做到这一点 我尝试了以下内容,但知道它错过了OAuth的东西,我只是不确定下一步该尝试什么。 顺便说一句foo.GetAgreementCreationInfo()只是获取屏幕截图中的字符串,我只是把它移出来,因为它很大而且丑陋 var foo = new Models(); var client = new RestClient(“https://api.na1.echosign.com/api/rest/v5”); // client.Authenticator = new HttpBasicAuthenticator(username, password); var request = new RestRequest(“agreements/{AgreementCreationInfo}”, Method.POST); request.AddParameter(“name”, “value”); // adds to POST or URL querystring based on Method request.AddUrlSegment(“AgreementCreationInfo”, foo.GetAgreementCreationInfo()); // replaces matching token in request.Resource IRestResponse response = client.Execute(request); var content […]

如何从Pacer.gov API提出案例请求?

我正在尝试向名为Pacer.gov的API发出请求。 我期待一个文件被退回,但我没有得到它。 有人可以帮我解决我所缺少的问题吗? 所以我的C#Rest调用如下所示: (变量PacerSession是我得到的身份validationcookie(在@ jonathon-reinhart的帮助下);在这里阅读更多相关内容: 如何使用RestSharp将登录名和密码POST到API? ) var client = new RestClient(“https://pcl.uscourts.gov/dquery”); client.CookieContainer = new System.Net.CookieContainer(); //var request = new RestRequest(“/dquery”, Method.POST); var request = new RestRequest(Method.POST); request.AddParameter(“download”, “1”); request.AddParameter(“dl_fmt”, “xml”); request.AddParameter(“party”, “Moncrief”); request.AddHeader(“user-agent”, “Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36”); request.AddHeader(“content-type”, “text/plain; charset=utf-8”); request.AddHeader(“accept”, “*/*”); request.AddHeader(“accept-encoding”, “gzip, deflate, sdch”); […]

是否可以使用Twilio签名的RestSharp NuGet包?

我们正在使用DocuSign的API,它需要RestSharp的签名版本,我们正在寻找整合需要无符号版本的Twilio。 我花了一些时间试图让两个DLL解决它们的每个依赖项,并且没有任何运气。 在这一点上,我希望有一种方法可以使用Twilio签名的RestSharp dll。 以前有没有人有这方面的经验? 当我尝试删除未签名的RestSharp时,我的DocuSign代码工作正常,但现在TwilioRestClient无法解析依赖项。 两个库都是105.2.3.0。 Twilio.Api.dll中出现“System.IO.FileLoadException”类型的exception,但未在用户代码中处理。 附加信息:无法加载文件或程序集’RestSharp,Version = 105.2.3.0,Culture = neutral,PublicKeyToken = null’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040)

restsharp – 响应对象中没有cookie

我对localhost服务器的一个请求有问题。 要进行身份validation,我需要两个cookie,一个来自sendReqForToken()方法,另一个来自sendLoginReq(字符串登录,字符串传递)。 作为回应,我从sendLoginReq获取cookie,但不是从sendReqForToken()获取cookie。 我不知道为什么一个请求有一个cookie第二个没有。 有趣的是,我从sendReqForToken()方法获得了正确的令牌(响应内容是正确的),但响应头中没有任何cookie。 这是sendReqForToken()方法体: public void sendReqForToken() { string adres = Globals.TOKEN_URL; RestRequest request = new RestRequest(adres, Method.GET); var client = new RestClient(); client.CookieContainer = new CookieContainer(); client.ExecuteAsync(request, (response) => { if (response.StatusCode == HttpStatusCode.OK) { var tokenValue = JsonConvert.DeserializeObject(response.Content); DataManager.Instance.authToken = tokenValue.authenticity_token; if (response.Cookies.Count > 0) { var cookie = response.Cookies.FirstOrDefault(); DataManager.Instance.cookieJar.Add(new […]

为什么我在RestSharp中的初始调用真的很慢? 但其他人之后非常快

我正在使用RESTSHARP调用WEB API,它们工作正常。 但是,对API的初始调用(无论是什么调用)有时最多可能需要10秒才能获得响应。 之后的其他所有电话都非常快。 有没有人知道这方面的方法? 我正在运行WPF 4.0应用程序 码: var client = new RestClient(apiAddress); var request = new RestRequest(Method.GET); IRestResponse response = client.Execute(request);