| 

.NET C# Java Javascript Exception

3
Hallo,

ich möchte an einem SMS Provider eine string per html übertragen.
http://smsgate.space.net:9100/xmit?to=00557192707209&from=Talk-IP&message=www.talk-ip-brasil.com.br/Downloads/Prg/v2_1_32_36-Svr5-11.sis?getwml.aspx?uname=5571111111@tip.com&pass=12345&length=110&flags=A&priority=1&vp=24

Wenn ich diesen in einem Internet-Explorer eingebe werde ich nach Usernamen und Passwort gefragt und es wird dann daraus eine SMS erstellt.

Nun mein Problem:
string msg="http://smsgate.space.net:9100/xmit?to=00557192707209&from=Talk-IP&message=www.talk-ip-brasil.com.br/Downloads/Prg/v2_1_32_36-Svr5-11.sis?getwml.aspx?uname=5571111111@tip.com&pass=12345&length=110&flags=A&priority=1&vp=24";

ich habe in meinem Programm den string msg. Wie übertrage ich den???

Danke für jeden Tipp und Hinweis

Grüße Ingo
01.12.2011
ingo 122 1 6
3
Hallo Ingo, bitte benutze die "KOMMENTIEREN"-Funktion. ANTWORTEN sind nur dazu da, neue Lösungsvorschläge zu bringen, und nicht, um auf Antworten zu reagieren! Ich denke, das ist auch der Grund, weshalb du negative Bewertungen auf deinen Beiträgen hast...
Eiger 02.12.2011
9 Antworten
-1
Hallo.

Schwer zu sagen, aber mit HTML kann man eher selten was senden, wenn ich irre.

Was für Möglichkeiten hast Du denn? VB, C, PHP, ASP, ...?

Dann kann Dir sicher jemand helfen.

Sven

Redmine und Subversion Hosting
01.12.2011
SRuttloff 263 4
1
Probierst du das mal aus:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Net.Security;
using System.Net;

namespace WebRequest
{
class Program
{
static void Main(string[] args)
{
System.Net.CookieContainer cookies = new CookieContainer();
string msg="http://smsgate.space.net:9100/xmit?to=00557192707209&from=Talk-IP&message=www.talk-ip-brasil.com.br/Downloads/Prg/v2_1_32_36-Svr5-11.sis?getwml.aspx?uname=5571111111@tip.com&pass=12345&length=110&flags=A&priority=1&vp=24";
HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(msg);
request.Credentials = new NetworkCredential("Dein Benutzername","Dein Kennwort");
request.CookieContainer = cookies;
request.PreAuthenticate = true;
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(response.StatusCode);
}
}
}


Schnell aus der Hüfte geschossen.

Gruß Karl
01.12.2011
Karl 958 8
2
Ich kenne mich mit dem Webzugriff unter .NET nicht aus, aber die URL dort oben ist nicht in Ordnung. Es darf nur ein Fragezeichen drin sein. Ich würde da irgendwo noch ein UrlEncode erwarten! http://msdn.microsoft.com/de-de/library/zttxte6w.aspx
Xantiva 02.12.2011
Ah, gut gesehen. Da hast du recht. Der URL kommt aber nicht von mir,sondern aus dem original Post. Ich vermute mal dass das zweite und dritt Fragezeichen aus der übermittelnden Nachricht kommt.
Karl 02.12.2011
-1
Hallo,

klar so habe ich es auch, die Exception abgefangen. Nur mein Programm ist ein Dienst.
Mal sehen ob die der folgende screen hilft.
02.12.2011
ingo 122 1 6
-1
Hallo,

mein Programm ist ein Dienst. Ich habe mal ein Screen gemacht.

02.12.2011
ingo 122 1 6
-1
Hallo,

klar so hatte ich es auch.
Da ich einen Dienst habe bekomme ich ja keine Ausgabe.
Ich habe mal einen Screen der Exception gemacht. Bitte lade Ihn down:
http://www.ingomanthey.de/Exception.png

Danke Ingo
02.12.2011
ingo 122 1 6
2
HALLLLOOOOOOOOOOO! Kannst du bitte mal den Kommentar zu deiner Frage lesen und nicht tausend neue Antworten posten!!!!!?
Eiger 02.12.2011
-1
Hallo Karl,

klar so hatte ich es auch gemacht. Leider ist mein Programm ein Dienst.
Ich habe mal ein Bild von der Exception gemacht. Download ...
Ich hoffe die Infos reichen Dir.

Grüße und Dank
Ingo
02.12.2011
ingo 122 1 6
-3
Hallo Karl,

Danke für Deine Hilfe!
leider das selbe Resultat:
Exeption:
Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseHeader Detail=Auf CR muss LF folgen


Gruß Ingo
01.12.2011
ingo 122 1 6
1
OK. Erweiterst du deine app.config um folgendes:
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
</configuration>
Karl 01.12.2011
-3
Hallo Karl,


Klasse!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hat fast geklappt!!!!!!

Die Daten wurden übertragen.

Ich bekam aber folgende Exception:

Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseStatusLine
bei System.Net.HttpWebRequest.GetResponse()


Hast DU noch ne Idee??

Grüße Ingo
01.12.2011
ingo 122 1 6
1
Hast du vielleicht mal mehr Infos. InnerException oder ähnliches. Was ist den der StatusCode, ...
Schon mal die request.method auf "POST" gestellt?
Karl 01.12.2011
-3
Hallo,

1. request method auf POST und auf GET gestellt. Jedesmal die selbe Exeption:
Der Server hat eine Protokollverletzung ausgeführt.. Section=ResponseStatusLine
2. Welchen StatusCode??
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
bei dem Aufruf kommt die Exception.
request.StatusCode gibt es nicht.

Grüße Ingo
01.12.2011
ingo 122 1 6
try{
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
}catch(Exception e){
Console.writeline(e);
}
Karl 01.12.2011
Hast du da einen Proxy zwischen?
Hast du schon mal nen Browserheader gesetzt: request.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0;");
Gibt es keine ordentliche API für den Dienst?
Und bitte kommentiere die Antworten, sonst kommt hier keiner mehr mit. Hier rutscht alles durcheinander!
Karl 02.12.2011
Hallo Karl,
1. Ich habe keinen Proxy,
2. Einen Browserheader habe ich nicht gesetzt.
3. Leider gibt es keine API.

Ich denke wir lassen das.
Ich bekomme zwar immer eine Exception nach dem request.GetResponse() aber die Daten werden richtig übertragen und die SMS wird auch richtig versendet.
Der Server des Provider verhält sich sowieso nicht normal, denn ohne den Eintrag:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
In der App.config bekomme ich immer eine Exception.
Danke und Gruß
Ingo
ingo 03.12.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH