मैं (सी # का उपयोग करके) ASP.NET MVC में एक आवेदन का निर्माण कर रहा हूँ और मैं चाहूँगा में अनुरोध पर कार्रवाई करने cURL या इसी तरह का उपयोग पता है कि कैसे मैं अपने नियंत्रक अंदर कर्ल http://www.mywebsite.com/clients_list.xml की तरह कॉल प्रदर्शन कर सकते हैं असल में मैं ट्विटर एपीआई जैसे शो एडिट और डिलीट जैसे कार्यों को करने के लिए एक प्रकार का आरईएसटी एपीआई बनाना चाहता हूं।ASP.NET MVC - आवेदन
लेकिन दुर्भाग्य से अब तक मैं इस वेबसाइट पर खिड़कियों के लिए कि cURL के अलावा कुछ भी नहीं मिला: http://curl.haxx.se/
तो मैं नहीं जानता कि अगर वहाँ तरीकों के साथ URL से कॉल के इस प्रकार पुनः प्राप्त करने के किसी भी पारंपरिक तरीका है पोस्ट हटा देंगे और अनुरोध पर डाल दिया, आदि ...
की तरह मैं बस अपना ASP.NET MVC आवेदन पर मेरे नियंत्रक अंदर कर्ल की तरह आदेशों प्रदर्शन करने के लिए एक आसान तरीका जानना चाहूंगा।
अद्यतन:
हाय तो मैं, मैं ट्विटर से अद्यतन स्थिति एपीआई का उपयोग कर रहा हूँ प्राप्त अनुरोध करने में कामयाब रहे, लेकिन में पोस्ट उदाहरण के लिए अनुरोध को पुनः प्राप्त अब मैं एक गंभीर समस्या आ रही है कि कर्ल में इस तरह काम करेगा:
string responseText = String.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml");
request.Method = "POST";
request.Credentials = new NetworkCredential("username", "password");
request.Headers.Add("status", "Tweeting from ASP.NET MVC C#");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
responseText = sr.ReadToEnd();
}
return responseText;
:
curl -u user:password -d "status=playing with cURL and the Twitter API" http://twitter.com/statuses/update.xml
लेकिन मेरे ASP.NET MVC आवेदन पर मैं अपने कस्टम समारोह के अंदर इस तरह कर रहा हूँ \
अद्यतन:
मैं अंत में प्रबंधन
अब समस्या यह है कि इस अनुरोध को 403 लौटा रहा है निषिद्ध, मैं सच में पता नहीं क्यों अगर यह कर्ल
पर पूरी तरह से काम करता है यह काम कर रहा करने के लिए, लेकिन शायद वहाँ यह क्लीनर और सुंदर बनाने के लिए एक रास्ता है, के रूप में मैं सी # पर नया मैं यह करने के लिए और अधिक ज्ञान की आवश्यकता होगी हूँ, जिस तरह से पोस्ट पैरामीटर पारित कर रहे हैं मुझे बहुत उलझन में आता है क्योंकि का एक बहुत है कोड को पारित करने के लिए कोड।
ठीक है, मैं एक सार बना लिया है - http://gist.github.com/215900, इसलिए हर कोई के रूप में आप करेंगे इस पर संशोधन के लिए स्वतंत्र महसूस।
public string TwitterCurl()
{
//PREVENT RESPONSE 417 - EXPECTATION FAILED
System.Net.ServicePointManager.Expect100Continue = false;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://twitter.com/statuses/update.xml");
request.Method = "POST";
request.Credentials = new NetworkCredential("twitterUsername", "twitterPassword");
//DECLARE POST PARAMS
string headerVars = String.Format("status={0}", "Tweeting from ASP.NET MVC C#");
request.ContentLength = headerVars.Length;
//SEND INFORMATION
using (StreamWriter streamWriter = new StreamWriter(request.GetRequestStream(), ASCIIEncoding.ASCII))
{
streamWriter.Write(headerVars);
streamWriter.Close();
}
//RETRIEVE RESPONSE
string responseText = String.Empty;
using (StreamReader sr = new StreamReader(request.GetResponse().GetResponseStream()))
{
responseText = sr.ReadToEnd();
}
return responseText;
/*
//I'M NOT SURE WHAT THIS IS FOR
request.Timeout = 500000;
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Custom Twitter Agent";
#if USE_PROXY
request.Proxy = new WebProxy("http://localhost:3000", false);
#endif
*/
}
क्या वे उपयोगकर्ता नाम और पासवर्ड पैरामीटर्स को नेटवर्क प्रमाण-पत्र या सरल पोस्ट डेटा माना जाता है? मुझे ट्विटर एपीआई नहीं पता है, इसलिए यह बेहतर होगा कि आप समझें कि आप वास्तव में क्या करने की कोशिश कर रहे हैं। –
बीटीडब्लू, ऐसा लगता है कि यदि आप पहुंचे तो आपको 403 वर्जित स्थिति मिल सकती है; 1. प्रति दिन सीमा के कुल 1,000 अपडेट। 2. प्रति दिन 250 कुल प्रत्यक्ष संदेश। 3. प्रति घंटे सीमा 150 एपीआई अनुरोध। http://help.twitter.com/forums/10711/entries/15364 –
क्षमा करें, ठीक है, इस मामले में यह http://twitter.com/statuses/update.xml से मेरे ट्विटर खाते से कनेक्ट करने का प्रयास कर रहा है, इसलिए यदि आप अपने ब्राउज़र से इसे एक्सेस करने का प्रयास करते हैं तो आप देखेंगे कि यह उपयोगकर्ता नाम और पासवर्ड मांगता है, इसलिए इस मामले पर प्रमाण-पत्र मेरा ट्विटर खाता उपयोगकर्ता नाम और पासवर्ड होगा, जो मैं सोच रहा था कि curl -u उपयोगकर्ता नाम के समान होगा: पासवर्ड ... तो इस विधि में आवेदन मेरी ट्विटर खाते पोस्ट करने के लिए एक नया ट्वीट पैरामीटर "स्थिति" + क्रेडेंशियल्स भेजने और प्रतिक्रिया है कि चहचहाना इस मामले में एक xml फ़ाइल वापस भेज देंगे पुन: प्राप्त करने जोड़ेगी। – zanona