2016-04-07 11 views
6

मैं कैसे प्राप्त कर सकता हूं और POST HTTP अनुरोध? मुझे सॉकेट समाधान मिला, लेकिन क्या यह सब है?HTTP सॉकेट वेब अनुरोध नहीं - D

string host = "google.com"; 
ushort port = 80; 

Socket listener = new TcpSocket; 
    assert(listener.isAlive); 
    listener.blocking = false; 

listener.connect(new InternetAddress(host, port)); 

char[] msg; 
char[] req = cast(char[]) "GET /search.php HTTP/1.1\r\nHost: google.com\r\n\r\n"; 

listener.send(req); 

उत्तर

6

std.net.curl पर एक नजर डालें।

import std.net.curl; 

auto content = get("d-lang.appspot.com/testUrl2"); 
// -- 
auto content = post("d-lang.appspot.com/testUrl2", [1,2,3,4]); 
2

कर्ल शक नहीं अच्छा समाधान है: यह get और post तरीकों है। हालांकि, यह आपकी परियोजना के लिए एक नई निर्भरता जोड़ देगा, है ना? जिस परियोजना के बारे में आप काम करते हैं उसके आधार पर, मैं सलाह देता हूं कि आप एडम रूपपे के arsd मॉड्यूल का उपयोग करें, विशेष रूप से http मॉड्यूल (वह http2 पर भी काम कर रहा है) - https://github.com/adamdruppe/arsd/blob/master/http.d। या, शायद यदि आप एक ढांचा चाहते हैं, तो vibe.d आपका सबसे अच्छा विकल्प (http://vibed.org) है क्योंकि इसमें HTTP क्लाइंट भी है। दो vibe.d संबंधित, वेब विकास उन्मुख, पुस्तकें हैं जिन्हें मैं अनुशंसा करता हूं, और वे निम्न पृष्ठ पर सूचीबद्ध हैं: http://vibed.org/tutorials

संबंधित मुद्दे