मैं एक ब्राउज़र खेल पर परीक्षण कर रहा हूँ। यह पोस्ट अनुरोध एक इमारत बनाने के लिए आदेश जारी करने का अनुमान है। जब तक मैं लॉग इन हूं, मैं पोस्टमैन भेजें बटन पर क्लिक कर सकता हूं और यह ठीक काम करता है। इसका मतलब है कि मूल्यों में से कोई भी समाप्त नहीं होता है। लेकिन अगर मैं लॉग आउट करता हूं और वापस लॉग इन करता हूं तो यह काम नहीं करेगा। मैं interceptor
के माध्यम से एक और डाकिया पद उत्पन्न करने के लिए होगा।सी में अनुकरण डाकिया पोस्ट # - RestSharp
मैं इस पोस्ट अनुरोध को सी # का उपयोग करना अनुकरण करना चाहता हूं;
यहां पोस्टमैन में मेरी पोस्ट कैसी दिखती है; डाकिया में डाकिया
शारीरिक पैरामीटर में
आप डाकिया स्थापित है, तो अनुरोध आयात करने के लिए here क्लिक करें।
यहां मेरा सी # कोड है। मैं पुस्तकालय RestSharp कहा जाता है का उपयोग कर रहा;
var client = new RestClient(@"https://tr42.klanlar.org");
var request = new RestRequest("game.php", Method.POST);
request.AddQueryParameter("village", "31413"); // adds to POST or URL querystring based on Method
request.AddQueryParameter("screen", "main"); // adds to POST or URL querystring based on Method
request.AddQueryParameter("ajaxaction", "upgrade_building"); // adds to POST or URL querystring based on Method
request.AddQueryParameter("type", "main"); // adds to POST or URL querystring based on Method
request.AddQueryParameter("h", "98e34aa6"); // adds to POST or URL querystring based on Method
request.AddQueryParameter("", ""); // adds to POST or URL querystring based on Method
request.AddQueryParameter("client_time", "1505659914"); // adds to POST or URL querystring based on Method
request.AddParameter("destroy", "0"); // adds to POST or URL querystring based on Method
request.AddParameter("force", "1"); // adds to POST or URL querystring based on Method
request.AddParameter("id", "wood"); // adds to POST or URL querystring based on Method
request.AddParameter("source", "31413"); // adds to POST or URL querystring based on Method
//var p1 = new Parameter
//{
// ContentType = "application/x-www-form-urlencoded",
// Name = "destroy",
// Value = "0"
//};
//request.AddParameter(p1);
//var p2 = new Parameter
//{
// ContentType = "application/x-www-form-urlencoded",
// Name = "force",
// Value = "1"
//};
//request.AddParameter(p2);
//var p3 = new Parameter
//{
// ContentType = "application/x-www-form-urlencoded",
// Name = "id",
// Value = "wood"
//};
//request.AddParameter(p3);
//var p4 = new Parameter
//{
// ContentType = "application/x-www-form-urlencoded",
// Name = "source",
// Value = "31413"
//};
//request.AddParameter(p4);
request.AddHeader("Accept-Language", "en-US,en;q=0.8,tr;q=0.6,ht;q=0.4");
request.AddHeader("Accept-Encoding", "gzip, deflate, br");
request.AddHeader("Referer", "https://tr42.klanlar.org/game.php?village=31413&screen=main");
//request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Tribalwars-Ajax", "1");
request.AddHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36");
request.AddHeader("X-Requested-With", "XMLHttpRequest");
request.AddHeader("Origin", "https://tr42.klanlar.org");
request.AddHeader("Accept", "application/json, text/javascript, */*; q=0.01");
//request.AddParameter("application/x-www-form-urlencoded", "destroy=&force=&id=&source=");
//request.AddParameter("application/x-www-form-urlencoded", "destroy=0&force=1&id=31413&source=wood", ParameterType.RequestBody);
//request.AddBody("application/x-www-form-urlencoded", "destroy=0&force=1&id=31413&source=wood");
IRestResponse response = client.Execute(request);
var data = response.Content;
जब मैं पर क्लिक करें डाकिया अंदर भेजें बटन, कार्रवाई काम करता है। हालांकि, भले ही मैं अलग अलग तरीकों का गुच्छा की कोशिश की, मैं नहीं मेरी सी # समारोह काम कर रहे हो सकता है।
किसी भी तरह की पुस्तकालयों में गंदे चाल और इतने पर उपयोग की अनुमति है। जब तक अनुरोध सी # भाषा का उपयोग करते हुए एक कार्यक्रम संबंधी तरीके से काम करता कोई नियम नहीं हैं।
मुझे एक प्रतिक्रिया शुरू होने की उम्मीद है;
{ "सफलता": "। Komut verildi", "date_complete": 86, "date_complete_formated": "00:01:26", "building_orders": "
संपादित करें: मैं वैकल्पिक तरीकों इस पोस्ट अनुरोध को दिखाने का उपयोग कर सकते हैं यह RestSharp में होने की जरूरत नहीं है
संपादित करें 2:।। मैं अपने मानकों को हर बार लॉग इन करने अपडेट करेगा ताकि आप समस्या मैं कर रहा हूँ पुन: पेश कर सकते हैं।
संपादित करें 3: पोस्टमैन RestSharp
का उपयोग कर सी # कोड उत्पन्न करने में सक्षम है। यह वह कोड है जो पोस्टमैन उत्पन्न करता है। हालांकि यह काम नहीं करता है।
var client = new RestClient("https://tr42.klanlar.org/game.php?village=31413&screen=main&ajaxaction=upgrade_building&type=main&h=8951b405&=&client_time=1505062595");
var request = new RestRequest(Method.POST);
request.AddHeader("postman-token", "dab31db4-b243-c317-e585-19da84c11e62");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("accept-language", "en-US,en;q=0.8,tr;q=0.6,ht;q=0.4");
request.AddHeader("accept-encoding", "gzip, deflate, br");
request.AddHeader("referer", "https://tr42.klanlar.org/game.php?village=31413&screen=main");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddHeader("tribalwars-ajax", "1");
request.AddHeader("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36");
request.AddHeader("x-requested-with", "XMLHttpRequest");
request.AddHeader("origin", "https://tr42.klanlar.org");
request.AddHeader("accept", "application/json, text/javascript, */*; q=0.01");
IRestResponse response = client.Execute(request);
मैंने देखा कि पोस्टमैन जेनरेट कोड में बॉडी पैरामीटर नहीं रख रहा है।
क्यों का उपयोग 'HttpClient' नहीं? – John
@ जॉन मैं तब तक कुछ भी उपयोग करने के लिए खुला हूं जब तक यह काम करता है। यदि आप HttpClient Ill का उपयोग कर उत्तर प्रदान कर सकते हैं तो इसे आज़माएं। RestSharp व्यापक रूप से उपयोग किया जा रहा है और चीजों को आसान बनाने के लिए माना जाता था। – 0014
आप जिस समस्या का सामना कर रहे हैं? क्वेरी में कई "गतिशील" पैरामीटर हैं, और मैं इसका परीक्षण नहीं कर सकता, जैसे कुकी के अंदर उपयोगकर्ता टोकन समाप्त हो सकता है, टाइमस्टैम्प। आपको इसे और अधिक विशिष्ट वर्णित करने की आवश्यकता है। और आपको अपने पोस्ट अनुरोध में प्रत्येक शीर्षलेख जोड़ने की आवश्यकता नहीं है, कुछ शीर्षलेख आवश्यक हैं, स्वीकार करें, कुकी। और मुझे लगता है कि आपको 'सामग्री-प्रकार' शीर्षलेख जोड़ने की आवश्यकता नहीं है, बाकी Sharp आपके लिए – John