[英]mailgun email validation response
我是Mailgun和REST的新手,需要一些幫助。
如果我使用Mailgun提供的代碼:
RestClient client = new RestClient();
client.BaseUrl = "https://api.mailgun.net/v2";
client.Authenticator = new HttpBasicAuthenticator("api", "xxxx");
RestRequest request = new RestRequest();
request.Resource = "/address/validate";
request.AddParameter("address", "me@mydomain.com");
return client.Execute(request);
如何檢索和處理該地址是否有效的響應?
首先,您永遠不要發布私人信息,例如您的此類API的公鑰
只需使用出色的Postman Chrome應用程序,您就可以看到這樣的請求的結果:
單擊此處以完整分辨率查看下面的圖像
而且我敢肯定,如果您不是return client.Execute(request);
你做
var result = client.Execute(request);
return result;
而在加入了斷點return
,你可以檢查什么是從呼叫......未經測試傳遞的對象,我敢肯定,你可以轉換result.Content
(因為它是在那里RestSharp追加響應內容)為對象,使用該對象(或使用dynamic
類型)。
現在,在VS中測試您的代碼:
單擊此處以完整分辨率查看下面的圖像
然后可以使用dynamic
對象,例如:
單擊此處以完整分辨率查看下面的圖像
public void GetResponse()
{
var client = new RestClient();
client.BaseUrl = "https://api.mailgun.net/v2";
client.Authenticator = new HttpBasicAuthenticator("api", "pubkey-e82c8201c292691ad889ace3434df6cb");
var request = new RestRequest();
request.Resource = "/address/validate";
request.AddParameter("address", "me@mydomain.com");
var response = client.Execute(request);
dynamic content = Json.Decode(response.Content);
bool isValid = content.is_valid;
string domain = content.parts.domain;
}
並將響應的內容像傳遞的json一樣對待:
{
"address": "me@mydomain.com",
"did_you_mean": null,
"is_valid": true,
"parts": {
"display_name": null,
"domain": "mydomain.com",
"local_part": "me"
}
}
該代碼對我有用。 我沒有使用RESTClient而是編寫了自己的代碼(效果很好)
[System.Web.Services.WebMethod]
public static object GetEmailInfo(string UserName)
{
var http = (HttpWebRequest)WebRequest.Create("https://api.mailgun.net/v2/address/validate?address=" + UserName);
http.Credentials = new NetworkCredential("api","public key");
http.Timeout = 5000;
try
{
var response = http.GetResponse();
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
JSON.JsonObject js = new JSON.JsonObject(content);
return Convert.ToBoolean(js["is_valid"]);
}
catch (Exception ex)
{
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.