Регистрация использования POST от C# по https

К сожалению, вы на самом деле не сказали нам, чего хотите достичь. Да, вы можете использовать несколько осей; Вы можете комбинировать их по-разному, в зависимости от того, какой результат вы хотите. Поэтому вам нужно объяснить, какой результат вы хотите. Использование «и» на верхнем уровне просто проверяет, выбирают ли оба операнда «и» что-либо.

Ваш вопрос «есть ли у кого-нибудь рабочие примеры» не поможет. Да, мы можем дать вам тысячи рабочих примеров, но вполне возможно, что ни один из них не будет делать то, что вы хотите.

Вот несколько возможных способов объединения двух осевых шагов X и Y:

X / Y - выберите X, а оттуда выберите Y

X и Y - верните true, если оба X и Y что-то выбирают

X или Y - возвращают true, если X или Y что-то выбирают

X | Y - вернуть объединение того, что X и Y выбрано

X пересечь Y - вернуть пересечение того, что X и Y выбрано

Ближайшее, что вы пришли к утверждению о требованиях: варианты узлов, которые присутствуют в середине ". Это трудно интерпретировать, не видя ваш исходный документ. Это также может оказаться запросом, который проще в XPath 2.0, чем в 1.0, поэтому вам действительно нужно сообщить нам, какую версию вы используете.

11
задан Community 23 May 2017 в 11:45
поделиться

3 ответа

см. Мой ответ на другой ваш вопрос. Я полагаю, что вашей проблемой может быть не ваш код C #. URL-адрес веб-службы обычно возвращает 404 с несколькими другими инструментами, которые я использовал, но он возвращает ответ, который вы указали, если не указывать косую черту в URL-адресе веб-службы, поэтому я предлагаю попробовать это.

Как ни странно, это не так. кажется, имеет значение, если конечный URL есть, когда не делает SSL. Наверное, что-то странное с этим веб-сервером.

5
ответ дан 3 December 2019 в 08:57
поделиться

Я столкнулся с точно такой же проблемой чуть раньше (хотя и в компактной структуре). Вот мой вопрос и мой собственный ответ на него: Асинхронный веб-запрос с POST-параметрами в .NET Compact Framework

Моя версия асинхронная, поэтому она немного сложнее, чем вы ищете, но идея остается.

private string sendRequest(string url, string method, string postdata) {
    WebRequest rqst = HttpWebRequest.Create(url);

    // only needed, if you use HTTP AUTH
    //CredentialCache creds = new CredentialCache();
    //creds.Add(new Uri(url), "Basic", new NetworkCredential(this.Uname, this.Pwd));
    //rqst.Credentials = creds;
    rqst.Method = method;
    if (!String.IsNullOrEmpty(postdata)) {
        //rqst.ContentType = "application/xml";
        rqst.ContentType = "application/x-www-form-urlencoded";

        byte[] byteData = UTF8Encoding.UTF8.GetBytes(postdata);
        rqst.ContentLength = byteData.Length;
        using (Stream postStream = rqst.GetRequestStream()) {
            postStream.Write(byteData, 0, byteData.Length);
            postStream.Close();
        }
    }
    ((HttpWebRequest)rqst).KeepAlive = false;
    StreamReader rsps = new StreamReader(rqst.GetResponse().GetResponseStream());
    string strRsps = rsps.ReadToEnd();
    return strRsps;

}
8
ответ дан 3 December 2019 в 08:57
поделиться

не знаю, решили ли вы уже этот вопрос, это сообщение годичной давности. Я испанец и тоже использую mensario.

для отправки http-запроса: (это в ASP, но процесс тот же самый)

Function enviarMsg2
   Dim oHTTP,inicio
   Dim strParametros
   Dim devolver

   Set oHTTP= server.CreateObject("Msxml2.ServerXMLHTTP")
   strParametros = "usuario="&usuario&"&clave="&clave&"&nserie="&nserie&"&     version=01010000&operacion=300&sms=1%0934635035526%0920041231233000%09Clinica+Paz%09Clinica+Paz+le+desea+Feliz+Navidad%2E&sms=2%0934612345678%0920041231233001%09Clinica+Paz%09Clinica+Paz+le+desea+Feliz+Navidad%2E"
'response.Write strParametros
'response.End
'Abrimos la conexión con el método POST, ya que estamos enviando una petición.
oHTTP.open "POST", "https://servicios.mensario.com/enviomasivo/apip", False

'Agregamos encabezados HTTP requeridos...
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

'Enviamos la petición
oHTTP.send strParametros
devolver = oHTTP.responsetext

'Comprobamos si fue correcto         
inicio = Instr(devolver, "100 BIEN")
'response.Write "--->"&inicio
'response.End    
if inicio <=0 then
  enviarSMS2 = "Ha ocurrido un error en el envío del SMS."
else
  enviarSMS2 = Mid(devolver,inicio+9,len(devolver))
end if

Set oHTTP = Nothing

Единственное, чего у меня нет, это пользователя / пароля для попытки :)

В основном, когда ответ "100 bien", функция возвращает это, в противном случае она возвращает ошибку.Надеюсь, это поможет :)

0
ответ дан 3 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: