Помогите преобразовать этот код PHP в код VB.NET - PullRequest
0 голосов
/ 02 декабря 2009

У меня есть код для отправки XML через POST. Но этот код написан на PHP, и он мне нужен в VB.NET.

Любая помощь, чтобы преобразовать этот код?

$XMLFile= (here i have created the xml file. XML is encoded ISO-8859)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"URL WHERE I SEND XML");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,"XMLDATA=".$XMLFile);
$results=curl_exec ($ch);
curl_close ($ch);

$results=stripslashes($results);

$xmlreturned=new SimpleXMLElement($results);

if($xmlreturned->NotificationResultHeader->RRC==0){
if($xmlreturned->NotificationResultList->NotificationResult->NRC==0){
echo "OK. SUCCES"; 

И как я тоже конвертирую этот PHP-код:

$msg=htmlentities($msg);
$msg=urlencode($msg); 

Ответы [ 2 ]

1 голос
/ 02 декабря 2009

Вам необходимо использовать классы HttpWebRequest и HttpWebResponse . Код мог бы выглядеть примерно так ( мой VB немного заржавел в наши дни ):

Dim xmlDoc as XmlDocumnet
'
'  prepare you xml doc here...
'
Dim encoding as ASCIIEncoding = New ASCIIEncoding()
Dim postData as String 
postData = "XMLDATA=" + xmlDoc.ToString()
Dim data() as Byte 
data = encoding.GetBytes(postData)

' Prepare web request...
Dim myRequest as HttpWebRequest 
    myRequest = CType(WebRequest.Create("URL TO POST HERE"), HttpWebRequest)
myRequest.Method = "POST"
myRequest.ContentType="application/x-www-form-urlencoded"
myRequest.ContentLength = data.Length
Dim newStream as Stream  = myRequest.GetRequestStream()
' Send the data.
newStream.Write(data, 0, data.Length)

' Get the response
Dim myResponse as HttpWebResponse
myResponse = myRequest.GetResponse()
0 голосов
/ 02 декабря 2009

См .: Решение htmlentities и Решение urlencode

А что касается curl, похоже, вы пытаетесь вызвать веб-сервис. Если это правильный веб-сервис (то есть где-то есть WSDL и XSD), вы должны добавить ссылку на сервис (или веб-ссылку, если вы используете VS2005 или VS2003), чтобы сгенерировать прокси использовать (вместо того, чтобы вручную выгружать XML на сервер).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...