tengo el siguiente código para acceder a una aplicación de sitio externo (aplicación asp.net) de un formulario del sitio de inicio de sesión local (escrito en PHP):php rizo - valor publicación asp.net estado de vista
<?php
$curl_connection = curl_init('www.external.com/login.aspx');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
// Post data array
$post_data['LoginControl$UserName'] = 'ExampleUName';
$post_data['LoginControl$Password'] = 'ExamplePWord';
// Add form fields into an array to get ready to post
foreach ($post_data as $key => $value)
{
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);
// Tell cURL which string to post
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
// Execute and post
$result = curl_exec($curl_connection);
?>
I ser dirigido al formulario de inicio de sesión del sitio externo en lugar de dirigirse a la aplicación que inició sesión. Creo que el problema es que necesito pasar los valores de viewstate, ¿pero no estoy seguro de cómo hacerlo?
No tengo control sobre la aplicación externa. Pero queremos que los usuarios puedan iniciar sesión en la aplicación a través de nuestro sitio web, para mantener la marca, etc.
He publicado un par de temas más recientemente sobre el uso de php cURL, pero ahora estoy en el escenario donde creo que viewstate es el problema ...
Gracias, Mark.
Gracias - Añadido los de, pero todavía sólo ha dirigido al formulario de inicio de sesión en el sitio externo .. –