Visual Basic.NET - Descarga Masiva XML SAT

 
Vista:
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 17/01/2015 22:58:39
Hola, el propósito de este foro es realizar un sistema de descarga masiva del SAT. Espero entre los que deseen cooperar llegar a un sistema funcional.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 17/01/2015 23:49:29
Bien el programa estara en vb.net al formulario principal le agregaremos un webBrowser el cual direccionaremos a la siguiente pagina:

https://portalcfdi.facturaelectronica.sat.gob.mx/

Tendremos que tener una cuenta en el SAT para acceder ala pagina recomiendo entrar con el RFC es mas facil.

Una vez dentro y apodremos acceder a los controles de la pagina, lo que aremos es consultar un mes en comprobantes recibidos.

Una vez mostrados se llenara un grid con los registros el grid se llama, masivapg0 el cero va en incremento hasta un total aproximado de 33 paginas el cual nos da 500 registros maximo hay que tener cuidado con empresas que reciban mas de 500 facturas al mes se recomienda hacer la consulta por rango de semanas.

Bueno una vez teniendo nuestro grid lleno lo recorreremos con la siguiente instruccion:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim elementos As HtmlElementCollection
Try
    elementos = wb.Document.GetElementById("masivapg0).FirstChild.All
Catch ex As Exception
    'No se encontraron documentos salimos de la rutina
    
End Try

Dim cont As Integer = 0

'                    Este bucle se ejecutara por cada registro que encuentre en el grid

For Each elemento As HtmlElement In elementos
    
    'Aqui obtengo en valores los datos del registro como UUID, RFC etc,.
    If UCase(elemento.TagName) = "SPAN" Then
        cont = cont + 1

        If elemento.InnerText <> "" Then
            valores = valores & "'" & elemento.InnerText & "',"
        Else
            valores = valores & "'',"
        End If
 
        If cont = 12 Then
            ' Aqui ejecutaremos el codigo par ala descarga del registro recien leido
 
 
            'Inicializamos los valores y el contador para proxima inserccion
            cont = 0
            valores = ""
        End If
    End If
Next

Bueno hasta aqui ya podemos recorrer nuestro grid ahora viene lo interesante cada vez que damos clic al descargar un xml se manda llamar este script de la siguiente manera:

onclick="return AccionCfdi('RecuperaCfdi.aspx?Datos=J/b0WEwPdD60SrK0mxtaLlWc1tnJO88baWlgqL9UhesWUqtfVgUIpKi+xjg10Zcgzcr3+LHS0mCykvmq3mItECUCFGuoxwpt+JvpVpC7x+iGDMC47iVSafOCxwkPzy8qsgUFEfpVMIfp9TqvhMD5cC5Hq1huMfsrRT8ZxL8U8EeM4PvT9MIB4srS2HMlAKmzC4YrGU2TZT7qAh9ApfWR6HrmM8bfglZNgSTCMCnP+w+2JKtJYSlQTb2/W7eTflPTWykFF9upCOGwJ7E7S5IZ8OlpIxSYlG78vUe57VOmSmR4asZ8rgJwBwoi//2WJOYwjANZVzCoJjVnvDt28WMO3CkUEbcbUJUV+frmsMlADmwTBAaJMkBk4r1V08X0o7iyreQbnpR0GS2rZsXsxsvZt5mL0ohlTJiTLZypJTUJEvjSskD9her3fpOPm/yJz9sEctUY9iH8kSqFOT1sGMJvGyOtnHdpP0FE+P1Mo=','Recuperacion');"

Si nos fijamos se manda llamar un script con dos parametros el script es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function AccionCfdi(blobUri, argumento) {
    if (rfcvalido) {
        MantieneSesion();
 
        var event = window.event;
        var opciones = "";
        if (argumento == "Detalle") {
            opciones = "width=5,height=5,scrollbars=yes,menubar=no,status=no,directories=no,location=no,toolbar=no,resizable=yes,titlebar=no";
            window.open(blobUri, "DetalleCfdi", opciones);
        }
        else if (argumento == "Recuperacion") {
            opciones = "width=5,height=5,scrollbars=yes,menubar=no,status=no,directories=no,location=no,toolbar=no,resizable=yes,titlebar=no";
            window.open(blobUri, "RecuperacionCfdi", opciones);
        }
        else if (argumento == "Acuse") {
            opciones = "width=5,height=5,scrollbars=yes,menubar=no,status=no,directories=no,location=no,toolbar=no,resizable=yes,titlebar=no";
            window.open(blobUri, "AcuseCancelacion", opciones);
        }
        if (event.stopstopPropagation) {
            event.stopPropagation();
        }
        else {
            event.cancelBubble = true;
        }
    }
}

Bueno en resumen lo que nos faltaria es mandar llamar este script desde nuestro bucle para descargar de forma masiva nuestros xml.

Cabe hacer mension que desde el webBrowser si se manda llamar el evento onClic de la imagen el webBrowser hace la descarga pero sale un mansaje de donde queremos guardar el archivo que en lugar de ayudar estorba ya que lo que queremos lograr es una descarga masiva y no estar escogiendo donde guardar los archivos descargados.

Lo que eh investigado que debemos de hacer es lo siguiente:

1.- Crear una instancia a la clase webClient
2.- Pasarle las cookies del webBrowser esto para la atuhtenticacion
3..- Usar el metodo DownloadFile del webClient

Este metodo nos dejara escojer la carpeta a la cual descargar nuestros XML sin necesidad de que salga la pantalla de descarga del Web Browser.

Espero con esta informacion sea suficiente para continuar con el programa.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 20/01/2015 18:13:00
Como se daran cuent el SCRIPT manda llamar otra pagina que es la que gestiona la descarga ahora bien si nos brincamos el script y nos dirigimos directo la pagina con un codigo como este:

wb es nuestro WebBrowser

wb.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?Datos=Gfbc5GblCcYyQKChyihHBlMtJ0j6BrCqf/RJGIW8mvtGZSaSPAkKARJbNgUEoV6O06mN/8zdpIi1X5k1mH7Ry6EzJY5TpAFtcapneqaFhZ7ndP6IsePIPiTESk/0vmvIfoqigtD3uH4VWxtVHcJo8oBmcKuzXnnEYGMpmUJyEyjDBu0engnRaBh4xX33v4gSAusvNzA6fJv7S4y2jFwqQZ0pVN6EU0YNBWyDeV81KHDWdyalrUycnnU5GmCM0Wx6ljSJGK4R7JMHAWgNePVATrG6FDg2xhJKBeAFvze1iR6ZujSv4TsCpwk+4SmY6WnH5Q7eSzHzPX0rHhouYGezaNnH6RulcvSoYH0VryIA2BcXJ6Q/uu+q+W62V26ALpRU5nqG5nQpEUeLI2q7ZP/Txt+vsGPqZIaa4p605ACLMFBnetTOZ5djRSoWBU/fbYQQe+Bd53jtMBZ/TWQyh3MbsXR2cE98y2xo9dGQFfouGq1")


La descarga se ejecuta correctamente, pero el web browser muestra la famosa pantalla de guardar archivo y nos pide la ruta donde deseamos descargarlo.

Si hay alguna manera de evitar esta ventana y si se ejecuta este código desde el bucle se podria obtener la descarga masiva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel (476 intervenciones) el 20/01/2015 19:33:59
Con DownloadFile me parece que puedes hacerlo...

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 20/01/2015 20:03:06
Gracias por tu respuesta y es correcto usando de la clase WebClient el metodo DownloadFile, sin embargo no me descarga el xml me descarga un xml con codigo de la URL:


Este es el codigo usado:

1
2
3
4
5
6
7
8
9
10
Dim URI As String = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?......"
 
Dim wc As New WebClient
 
'Pasamos las cookies del webBrowser para mantener la session.
 
wc.Headers.Add(HttpRequestHeader.Cookie, wb.Document.Cookie)
 
'Descargamos el archivo
wc.DownloadFile(URI, "C:\test\archivo.xml")

Y esto es lo que descarga:

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
    <head>
        <META HTTP-EQUIV="expires" CONTENT="0">
    </head>
    <body>
        <form method="POST" enctype="application/x-www-form-urlencoded" action="/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0"></form>
        <script language="JavaScript">
            <!--
                document.forms[0].submit();
            -->
        </script>
    </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Javier Cabanillas (1 intervención) el 25/01/2015 02:34:06
Hola, ¿has logrado solucionar este último problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 26/01/2015 16:44:53
Hola aun no ahora estoy intentando con el HttWebRequest, y segun lo que sigo investigando el problema esta en el traspaso de cookies .

Si tengo avance les informo.

Saludos y gracias por preguntar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Mariana (1 intervención) el 09/07/2016 17:51:19
Mi programa está trabajando desde hace rato para la descarga masiva de xml's desde el portal del SAT. Mi problema es que lo estoy tratando de instalar en una pc en particular y no me funciona.

He podido darle seguimiento a las rutinas y se queda 'congelado' en cuanto lee la siguiente linea:

1
wc1.DownloadFile(imgUrl, NuevoDirTemp & j & ".xml")

Aquí está el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wc1.Headers.Add(HttpRequestHeader.Cookie, GetGlobalCookies(wbSATCFDI.Document.Url.ToString))
For Each htmlElement In htmlElementCollection
	imgUrl = htmlElement.GetAttribute("id").ToString
	If imgUrl = "BtnDescarga" Then
		totch = htmlElement.OuterHtml.Length
		imgUrl = htmlElement.OuterHtml.Replace(Chr(34), "")
		strIni = InStr(imgUrl, "?Datos=")
		strFin = InStr(imgUrl, "=','Recuperacion');")
		imgUrl = imgUrl.Substring(strIni, strFin - strIni)
		imgUrl = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?" & imgUrl
		wc1.DownloadFile(imgUrl, NuevoDirTemp & j & ".xml")
		countDescarRFC = countDescarRFC + 1
		j = j + 1
	End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro Guia (4 intervenciones) el 29/01/2015 06:09:31
Hola estoy tratando de hacer igual un programa para leer informacion masiva de XML del sat y tengo el mismo problema, quiza les agrego un par de lineas compartiendo para este efecto el llenado y ejectucion del submit:

1
2
3
4
webBrowser1.Document.GetElementById("Ecom_User_ID").InnerText = rfc.Text;
webBrowser1.Document.GetElementById("Ecom_Password").InnerText = pwds.Text;
HtmlDocument document = webBrowser1.Document;
document.GetElementById("submit").InvokeMember("Click");

con estas lineas podemos de forma automatica hacer el login a la pagina, solo en los textbox de rfc el rfc de la cuenta que requerimos entrar y en pwds el password que dimos en el SAT, el codigo esta en C# y es muy simple pasarlo a VB.

en el codigo antes escrito
en la linea
elementos = wb.Document.GetElementById("masivapg0).FirstChild.All
no existe el "masivapg0" el que encontre fue:
elementos = wb.Document.GetElementById("DivContenedor").FirstChild.All
que me imagino es el correcto
aqui les escribo mi codigo por si ayuda en algo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
elementos = wb.Document.GetElementById("DivContenedor").FirstChild.All;
    string dato, valores = "", URI = "";
    int cont = 0;
    foreach (HtmlElement el in elementos)
    {
 
        if (el.TagName.ToUpper() == "SPAN")
        {
            cont++;
            if (el.InnerText != "")
                valores = valores + "'" + el.InnerText + "',";
            else
                valores = valores + "'',";
            if (cont == 12) // Aqui ejecutaremos el codigo par ala descarga del registro recien leido 
            {
 
                URI = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?";
                //URI = wb.Url.ToString();
                WebClient wc = new WebClient();
                wc.Headers.Add(HttpRequestHeader.Cookie, wb.Document.Cookie); //Descargamos el archivo 
                wc.DownloadFile(URI, directorio);
                cont = 0;
                valores = "";
            }
        }
    }
 
}
    catch
{
//    MessageBox.Show("no hay datos");
//    return;
}

pero no puedo recorrer el grid y la informacion que me almacena es:

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
    <head>
        <META HTTP-EQUIV="expires" CONTENT="0">
    </head>
    <body>
        <form method="POST" enctype="application/x-www-form-urlencoded" action="/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0"></form>
        <script language="JavaScript">
            <!--
                document.forms[0].submit();
            -->
        </script>
    </body>
</html>

si alguien tiene mas ideas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 29/01/2015 06:34:12
Que tal Alejandro tal vez no te recorre el grid porque el DivContenedor es un elemento anterior al masivapg0 de las etiquetas HTML que yo recorro ami si me recorre el grid yo lo encontre inspeccionando el elmento dentro del HTML.

Y tienes razón si guardas el código fuente de la pagina no te aparece el masivepg0 este se genera en tiempo de ejecución.

Según sigo investigando ese resultado que nos descarga es porque al pasarle las cookies al webClient no se estan pasando todas solo algunas por lo que hay que intentar con la libreria:

InternetGetCookieEx

De esta manera descartamos que sea la authenticacion por la cual no se descarge el xml y solo nos descargue eso.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro Guia (4 intervenciones) el 30/01/2015 05:55:47
Hola Alan, avance un poco mas pero no logro que me traiga el xml, me manda un texto de error que no puede bajarlo inclui una clase donde trae los cookies de la pagina te describo la clase:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace WindowsFormsApplication1
{
    internal static class CookieReader
    {
        private const int INTERNET_COOKIE_HTTPONLY = 0x00002000;
 
        [System.Runtime.InteropServices.DllImport("wininet.dll", SetLastError = true)]
 
 
 
        private static extern bool InternetGetCookieEx(
            string url,
            string cookieName,
            StringBuilder cookieData,
            ref int size,
            int flags,
            IntPtr pReserved);
 
 
        public static string GetCookie(string url)
        {
            int size = 512;
            StringBuilder sb = new StringBuilder(size);
            if (!InternetGetCookieEx(url, null, sb, ref size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero))
            {
                if (size < 0)
                {
                    return null;
                }
                sb = new StringBuilder(size);
                if (!InternetGetCookieEx(url, null, sb, ref size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero))
                {
                    return null;
                }
            }
            return sb.ToString();
        }
    }
    class Class1
    {
    }
}

y te pongo la rutina que lo llama
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
HtmlElementCollection elementos;
try
{
 
    elementos = wb.Document.GetElementById("masivapg0").FirstChild.All;
    string valores = "", URI = "";
    int cont = 0;
    string miuuid = "";
    WebClient wc;
    int conteos = 1;
    foreach (HtmlElement el in elementos)
    {
        total.Text=el.Children.Count.ToString();
        string traecookie;
        if (el.TagName.ToUpper() == "SPAN")
        {
            cont++;
            if (el.InnerText != "")
                valores = valores + "'" + el.InnerText + "',";
            else
                valores = valores + "'',";
            if (cont == 12)
            {
 
                miuuid = valores.Substring(1, 36) + ".xml"; // trae el nombre del xml
                URI = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?";
                wc = new WebClient();
                traecookie = CookieReader.GetCookie(URI); // trae los cookies que usa la pagina
                wc.Headers.Add(HttpRequestHeader.Cookie,traecookie); // aplicamos los cookies
                wc.DownloadFile(URI, directorio+"\\"+miuuid); // bajamos el file
                cont = 0;
                valores = "";
                conteo.Text = conteos.ToString();
                conteos++;
            }
        }
    }
    MessageBox.Show("Proceso finalizado");
}
catch (Exception ex)
{
//    MessageBox.Show("no hay datos");
//    return;
}

con ello se graba la primera pagina pero el contenido no es el xml ya que hay un error en la comunicacion. si tienes un resultado mejor me comentas de favor.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 30/01/2015 17:25:40
Que tal Alejandro claro que si, sabes solo un comentario en el codigo no se aprecia si le estas mandando el parametro Datos al pagina (URI):

Esta una vez armada con los datos debe de quedar como la siguiente:

URI="https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?Datos=Gfbc5GblCcYyQKChyihHBlMtJ0j6B..."

Ahora bien la variable Datos se carga del elemento image (el mundo) de la pagina del SAT lo puedes inspeccionar el elemento para que veas como se manda exactamente.

Esos datos me imagino que es el UUID pero con un tipo de digestion MD5 o algo parecido pero no importa solo pon esos datos asi como salen e intenta nuevamente.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Marcel (5 intervenciones) el 03/02/2015 12:35:37
La solucion esta en la galletita como dice Alejandro, lee esta pagina y te ayudara:

http://www.codeproject.com/Tips/687705/Passing-Cookie-Value-from-webbr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 19/02/2015 01:37:26
Les dejo la funcion para la cookie en VB.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<DllImport("wininet.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
    Private Shared Function InternetGetCookieEx(ByVal pchURL As String, ByVal pchCookieName _
                                                As String, ByVal pchCookieData As StringBuilder, _
                                                ByRef pcchCookieData As UInteger, ByVal dwFlags As Integer, _
                                                ByVal lpReserved As IntPtr) As Boolean
    End Function
    Const INTERNET_COOKIE_HTTPONLY As Integer = &H2000
 
    Public Shared Function GetGlobalCookies(ByVal uri As String) As String
        Dim datasize As UInteger = CInt(strCache)
        'Dim datasize As UInteger = 8192
        Dim cookieData As New StringBuilder(CInt(datasize))
        If InternetGetCookieEx(uri, Nothing, cookieData, datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) AndAlso cookieData.Length > 0 Then
            Return cookieData.ToString()
        Else
            Return Nothing
        End If
    End Function

Ahora el problema que tengo es que en algunos equipos si me funciona y en otros no, alguna ayuda el error que me marca es Error en el servidor remoto: (500) Error interno del servidor.

En mi equipo de desarrollo funciona ok (Win XP Profesional SP3), lo instalo en otro equipo con Win 7 1Gb de ram y funciona OK, pero lo instalo en otros 2 equipos con Win7 4Gb de ram y me marca el error que comento.

Lo unico diferente que puedo observar es el tamaño de la memoria.

Algo mas que puedo observar es la version de IE en donde si funciona esta la 8 y donde no la 9

Alguna ayuda????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 19/02/2015 02:06:01
Hola Gerardo gracias por comentar, posiblemente con las caracteristicas que comentas el problema en si puede ser que la libreria solo funcione con equipos de 32 bits y en equipos de 64 se tenga que hacer alguna configuración especial dejame pruebo y te comento.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 19/02/2015 19:22:01
Hola a todos

Definitivamente es Wininet.dll solo me funciona con la versión 8.xx

Instale el internet explorer 9 en una de las maquinas que si funcionaba y o sorpresa, dejo de funcionar, este instala la versión 9.xx de wininet.dll.

Instale el internet explorer 11 y tambine dejo de funcionar instala wininet.dll 11.xx

Intente registrando wininet.dll 8.xx en el directorio de mi aplicación, pero no lee la cookie, me manda lo que ustedes mencionan en posts anteriores.

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
    <head>
        <META HTTP-EQUIV="expires" CONTENT="0">
    </head>
    <body>
        <form method="POST" enctype="application/x-www-form-urlencoded" action="/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0"></form>
        <script language="JavaScript">
            <!--
                document.forms[0].submit();
            -->
        </script>
    </body>
</html>

Con wininet.dll 9.xx o 11.xx si lee la cookie pero al momento que la envía al WS no la reconice y regresa el siguiente error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head id="ctl00_Head1"><title>
 
</title><meta http-equiv="cache-control" content="no-cache" /><link href="Styles/sat.css" rel="stylesheet" type="text/css" /><link rel="shortcut icon" href="Images/favicon.ico" type="image/vnd.microsoft.icon" /><link rel="icon" href="Images/favicon.ico" type="image/vnd.microsoft.icon" />
</head>
<body>
    <form method="post" action="Error.aspx?aspxerrorpath=%2f+pointer%3b+onclick%3dreturn+AccionCfdi(%27RecuperaCfdi.aspx" id="aspnetForm">
<input type="hidden" name="__CSRFTOKEN" id="__CSRFTOKEN" value="/wEFJDFiNzE0ZDMwLWIyMmQtNGRhYy04Y2ZjLTg3MjNmZTg4MjMyMg==" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="ECKLTAJkzlxA8YUQOs4wKxIJjVCpEMPDs4TNWEegmOUdE5vkuoBk8HadM6EWh9c62YenEpjGq7WZSK1XNiJmOAHXdlMZckTSJ7IlfGrYJgxtqsAz8vXvlplpMVpiTgw/BHyFvx1uQLYZtU8kqUTCSn9uOFc=" />
 
 
<script src="/ScriptResource.axd?d=yZa9Z0Sj-Jlwg86i3S3WAHqRAai7UY3B7tiaPWTpKX0rT67QDO6fvnmKmhtlp1xeUd5vP5UK18fz4AJ84m9CShODTRkCI-7rCSuwqFQ_DIHzSADZJSukr-0989iA4PyNvA7oOnoxqkwoTZbnuS99A3n_XiUthm4IsdCar6CEpaHwkrYt0&amp;t=ffffffffb53e74b8" type="text/javascript"></script>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="AB827D4F" />
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
 
    <div id="cuerpo_principal">
        <div id="encabezado">
            <div id="firma_busquedax">
                <img id="ctl00_PnlEncabezado" src="Images/headerRojo.jpg" height="70" width="970" />
            </div>
            <div id="encabezadoPortal">
            <table style="width: 960px; background-color: #EEEEEE; text-align: right; border-collapse: collapse; border-color: #EEEEEE" cellspacing="0" cellpadding="0">
                <tr>
                    <td style="width: 320px"></td>
                    <td style="width: 320px; font-size: 14px; text-align: center" rowspan="2">Factura Electrónica</td>
                    <td style="width: 320px; font-size: 10px"></td>
                </tr>
                <tr>
                    <td style="width: 320px; font-size: 10px"></td>
                    <td style="width: 320px; font-size: 10px"></td>
                </tr>
            </table>
            </div>
        </div>
 
        <div id="cuerpo">
 
<div style="width:100%; text-align:center; margin-top:50px" >
<h1>Ha ocurrido un error al procesar su &uacute;ltima acci&oacute;n</h1>
<p>Si reporta este error, favor de indicar la siguiente referencia: 0a355597-1923-4cd8-9929-a348d3541e5f</p>
</div>
 
        </div>
    </div>
    <div class="footer">
 
    </div>
    </form>
</body>
</html>

Alguien ya soluciono el problema o ya le esta funcionando la aplicación, por favor compartan.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por pedro (1 intervención) el 21/02/2015 00:40:04
platico mi experiencia por si le sirve a alguien, para el ie9, dentro de codigo para extraer el contenido del atributo "onclick" ya no existe de manera directa, me imagino que esta encapsulado, yo no no lo encontre :S pero existe el atributo "OuterHtml" reemplacen lo que no sirve y con eso ya funciona.


saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 22/02/2015 03:11:23
Hola a Todos

Resuelto mi problema

Internet explorer 9 y 11 agrega este atributo

style="cursor: pointer;"

Y como yo hacia un

cadena.Substring(valor inicial fijo, largo variable)

Pues no tenia bien la cadena y por eso el servidor del SAT me respondia con un error

Ahora localizo el inicio que puede ser variable y listo

Saludos a Todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 24/02/2015 02:08:27
Hola a todos

Alguien sabe como descargar mas de 500 archivos, ya que en en los grid que forma el filtro, solo muestra hasta 500 comprobantes y tengo un caso en que son 1200 documentos por mes.

A ver si alguien tiene la solucion.

Saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Fernando (9 intervenciones) el 24/02/2015 23:58:31
Gerardo, gracias por la funcion, la he querido incorporar y aun no me funciona, el codigo es el siguiente:

Dim wc As New WebClient

wc.Headers.Add(HttpRequestHeader.Cookie, GetGlobalCookies("https://portalcfdi.facturaelectronica.sat.gob.mx"))
wc.DownloadFile(New Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/" & vecxml(i).urlblob), strfile)


podrias ayudarme a implementarla por favor.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 25/02/2015 19:52:17
Aqui la tienes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Dim htmlDocument As HtmlDocument = Me.WebBrowser1.Document
Dim prueba As String = htmlDocument.GetType.ToString
Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images
Dim cadIni, CadFin As Integer
For Each htmlElement As HtmlElement In htmlElementCollection
Dim imgUrl As String = htmlElement.GetAttribute("id")
If imgUrl = "BtnDescarga" Then
imgUrl = Replace(htmlElement.OuterHtml, Chr(34), "")
 
'En estads dos variables, localizas la cadena del comproBante
cadIni = InStr(imgUrl, "dato=?")
cadFin = InStr(imgUrl, "','Recuperacion')")
 
imgUrl = imgUrl.Substring(cadIni, fadFin - cadIni)
imgUrl = "https://portalcfdi.facturaelectronica.sat.gob.mx/" & imgUrl
 
'Guardo la cadena en un listBox oculto en el formulario del WebBrowser
ListBox1.Items.Add(imgUrl)
End If
Next
 
Dim URI, archivo As String
Dim wc As New WebClient
wc.Headers.Add(HttpRequestHeader.Cookie, GetGlobalCookies(WebBrowser1.Document.Url.ToString))
 
'recorro el listBox y voy descargando uno por uno
For i = 0 To ListBox1.Items.Count - 1
URI = ListBox1.Items.Item(i).ToString.Trim
wc.DownloadFile(URI, ruta a guardar)
next
 
 
<DllImport("wininet.dll", CharSet:=CharSet.Auto, SetLastError:=True, PreserveSig:=True)> _
Private Shared Function InternetGetCookieEx(ByVal pchURL As String, ByVal pchCookieName _
As String, ByVal pchCookieData As StringBuilder, _
ByRef pcchCookieData As UInteger, ByVal dwFlags As Integer, _
ByVal lpReserved As IntPtr) As Boolean
End Function
 
Const INTERNET_COOKIE_HTTPONLY As Integer = &H2000
 
Public Shared Function GetGlobalCookies(ByVal uri As String) As String
'Utilizo strCache porque en algunos casos no me funciona con 4096
'Dim datasize As UInteger = CInt(strCache)
Dim datasize As UInteger = 8192
Dim cookieData As New StringBuilder(CInt(datasize))
If InternetGetCookieEx(uri, Nothing, cookieData, datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) And Also cookieData.Length > 0 Then
Return cookieData.ToString()
Else
Return Nothing
End If
End Function


Si te funciona, Comentame si te funciona

Saludos
P.D. me debes una elodia bien friolenta, jajajajajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 25/02/2015 20:30:48
Lo de la elodia bien friolenta te lo dejo a tu consideracion jajaja

Osea una chela bien fria

Por cierto la linea de codigo siguiente, no le hagas caso no sirve para nada

Dim prueba As String = htmlDocument.GetType.ToString

en esta variable
cadIni = InStr(imgUrl, "dato=?")

es
cadIni = InStr(imgUrl, "?dato=")

localizas esa porcion del texto, pero tienes que enviar desde donde dice
"RecuperaCfdi.aspx?Dato=........" hasta donde termina el parametro antes de la palabra "Recuperacion"

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Fernando (9 intervenciones) el 25/02/2015 21:45:57
Gracias Gerardo, ya funcionó todo OK.


De donde eres?, pasame tu direccion y c.p. con gusto te hago llegar un pequeño presente.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por informatica-soporte (9 intervenciones) el 26/02/2015 15:06:19
Pues yo buscando esto encontré un complemento, que es el de abrir los archivos xml a pdf, aunque por ahora solo es uno a uno puedo mandarlo a llamar desde linea de comandos las veces que quiera: http://www.taringa.net/posts/economia-negocios/18512851/Como-descargar-XML-y-conversion-MASIVA-a-PDF-SAT.html de este enlace me fui a uno que manda a el generador. Espero les resuelva uno que otro detalle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 26/02/2015 15:34:00
Gracias Informatica por el aporte

Tambien considero que dentro del proyecto tenemos que hacer la parte de la generacion de la representacion impresa en PDF el detalle creo que esta en el CBB.

Por si alguien desea colaborar, los datos que lleva el CBB son los mismos que se envian para hacer la peticion al WS del SAT.

rfcEmisor
rfcReceptor
importe
UUID

Gracias Fernando creo que lo mejor es compartir, te comento no soy desarrollador profesional pero si un apasionado de la informatica y el desarrollo, pero a lo largo de mi vida me he topado con gente que se lleva conocimientos a la tumba (esto de la tumba en sentido figurado), y que no son capases de compartir mas sin embargo tambien he conocido mucha gente que si le gusta compartir y pues como a mi me han compartido, me gusta compartir algo de lo poco que se (snif snif, jajaja).

Al final del camino el sol sale para todos.

Te dejo mi correo por aquello de la elodia jajaja

[email protected]

Y pues a darle que es mole de olla con la representacion impresa

Buen dia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 26/02/2015 18:27:39
Gracias por Comentar Generado y efectivamente comparto la misma idea que tu sobre el compartir, si inicie este foro fue por lo mismo porque había aplicaciones que ya lo hacían pero no decían el como y gracias a tus aportaciones y los comentarios de los interesados ya tenemos esta aplicacion.

Sobre la impresión del PDF es importante mencionar que hay dos tipos
1.- Cuando haces la factura en el mismo SAT
2.- Cuando timbras con un pac tu factura.

En el caso uno si sale la factura completa con el codigo bidimencional, pero en el caso dos solo sale la informacion basica del xml al darle click en ver detalle.

Yo hice un hibrido entre el completo y el basico en resumen sale un pdf como una factura sin el codigo bidimencional.

Para esto hay que usar crystal reports en el origen de datos seleccionar cualquier xml.
Despues arrastras los controles que te interesen y armas tu documento pdf.

Al fina para imprimir solo cambias el origen de datos hacia el xml que quieres que cargue la información y listo.

Este seria el codigo .

Dim cr As New CrystalDecisions.CrystalReports.Engine.ReportDocument
Dim PathReport As String = Server.MapPath("crCFDI.rpt")

If IO.File.Exists(PathReport) Then
cr.Load(PathReport, CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault)
End If



Dim ds As New Data.DataSet
ds.ReadXml("cfdi.xml")


cr.SetDataSource(ds)

cr.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "reporte")

Ahora que si quieres hacer un CFDi con todo y su codigo bidimencional esta es la libreria que debieras de usar.

ThoughtWorks.QRCode

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 27/02/2015 01:18:57
Gracias Alan

Solo dos cosas

En mi equipo tengo instalado el VS 2010, pero no he instalado el CR, segun tengo entendido se tiene que descargar no se de donde e instalarlo.

EL otro punto es que tambien tenemos que encontrar la forma que nos permita descargar cuando son mas de 500 ya que solo permite descargar coimo maximo 500, pero e visto por ahi los programas que si te permiten mas de 500.

Ya baje el codigo de la pagina antes de hacer la peticion y despues que la hace los dos en tiempo de ejecucion, pero no encuentro o no entiendo en que punto le puedes quitar la limitacion de los 500.

Si alguien sabe, por favor comenten.

Hace calor una chela jajajajajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 05/03/2015 18:18:53
Buenas a todos

Alguien ya encontro la forma de poder descarar mas de 500 xml

Help

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 06/03/2015 06:04:56
Hola Salvador

El codigo esta publicado, que necesitas en concreto ???

Saludos GRC

P.D. Nadie me ha enviado un presente, ni tan siquiera una chela, jajajaja.
mandenme un correo y les envio mi direccion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 07/03/2015 03:14:42
te envio todo tu codigo y me marca un error cuando lo ejecuto en esta linea:
Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images

object reference not set to an of an object


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Imports System.Text
Imports System.Net
Imports System.IO
Imports System.Runtime.InteropServices
 
Public Class Form1
 
    Private Sub BtnDescarga_Click(sender As Object, e As EventArgs) Handles BtnDescarga.Click
        Dim htmlDocument As HtmlDocument = WebBrowser1.Document
 
        Try
            Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images
 
 
 
 
        Dim ImagesFound As Integer
 
        For Each htmlElement As HtmlElement In HtmlElementCollection
            Dim imgUrl As String = htmlElement.GetAttribute("id")
            If imgUrl = "BtnDescarga" Then
                imgUrl = Replace(htmlElement.OuterHtml, Chr(34), "")
                ImagesFound = InStr(imgUrl, "','Recuperacion')")
                imgUrl = imgUrl.Substring(103, ImagesFound - 104)
                imgUrl = "https://portalcfdi.facturaelectronica.sat.gob.mx/" & imgUrl
                ListBox1.Items.Add(imgUrl)
            End If
        Next
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        Dim URI, archivo As String
        Dim wc As New WebClient
 
        wc.Headers.Add(HttpRequestHeader.Cookie, GetGlobalCookies(WebBrowser1.Document.Url.ToString))
 
        For i = 0 To ListBox1.Items.Count - 1
            URI = ListBox1.Items.Item(i).ToString.Trim
            wc.DownloadFile(URI, "c:\HU")
        Next
 
    End Sub
 
    Const INTERNET_COOKIE_HTTPONLY As Integer = &H2000
 
    Public Shared Function GetGlobalCookies(ByVal uri As String) As String
        'Dim datasize As UInteger = CInt(strCache)
        Dim datasize As UInteger = 8192
        Dim cookieData As New StringBuilder(CInt(datasize))
        If InternetGetCookieEx(uri, Nothing, cookieData, datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) AndAlso cookieData.Length > 0 Then
            'Return cookieData.ToString().Replace(";"c, ","c)
            Return cookieData.ToString()
        Else
            Return Nothing
        End If
    End Function
 
    <DllImport("wininet.dll", CharSet:=CharSet.Auto, SetLastError:=True, PreserveSig:=True)> _
    Private Shared Function InternetGetCookieEx(ByVal pchURL As String, ByVal pchCookieName _
                                                As String, ByVal pchCookieData As StringBuilder, _
                                                ByRef pcchCookieData As UInteger, ByVal dwFlags As Integer, _
                                                ByVal lpReserved As IntPtr) As Boolean
    End Function
 
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 07/03/2015 04:58:58
una pregunta en webBrowser1 que url le asignas por primera vez

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'En estads dos variables, localizas la cadena del comproBante 
cadIni = InStr(imgUrl, "dato=?")   a qui no entiendo
cadFin = InStr(imgUrl, "','Recuperacion')")  a qui no entiendo
 
Dim htmlDocument As HtmlDocument = WebBrowser1.Document
Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images
Dim ImagesFound As Integer
 
For Each htmlElement As HtmlElement In htmlElementCollection
    Dim imgUrl As String = htmlElement.GetAttribute("id")
    If imgUrl = "BtnDescarga" Then
        imgUrl = Replace(htmlElement.OuterHtml, Chr(34), "")
        ImagesFound = InStr(imgUrl, "','Recuperacion')")
        imgUrl = imgUrl.Substring(103, ImagesFound - 104)
        imgUrl = "https://portalcfdi.facturaelectronica.sat.gob.mx/" & imgUrl
        ListBox1.Items.Add(imgUrl)
    End If
Next
 
 
'En estads dos variables, localizas la cadena del comproBante
cadIni = InStr(imgUrl, "dato=?")
cadFin = InStr(imgUrl, "','Recuperacion')")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Giovanni Bautista (1 intervención) el 09/03/2015 20:11:45
Que tal, disculpen en esta linea la parte de "And Also" me manda error de que no se encuentra declarado, alguien me podria decir que es o a que se refiere also por favor

If InternetGetCookieEx(uri, Nothing, cookieData, datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) And Also cookieData.Length > 0 Then
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 09/03/2015 21:47:23
Buenas tardes SAlvador

Puedes poner la misma con que inicias la cadena

https://portalcfdi.facturaelectronica.sat.gob.mx

Por otro lado el error que te marca en

Dim htmlElementCollection As HtmlElementCollection = htmlDocument.Images


Tienes que hacer el Import de la clase XML

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 09/03/2015 21:52:01
Hola Giovanni

No tengo a la mano mi equipo de desarrollo, pero es por la declaracion

Dim cookieData As New StringBuilder(CInt(datasize))

Tienes que hacer un import para el StringBuilder.

En cuanto este en mi equipo de desarrollo, les posteo todos los imports.

Saludos GRC

Referente al And Also, no seas baqueton y lee algun manual de programacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por karina (1 intervención) el 09/03/2015 22:56:56
Buenas tardes,

He tratado de implementar la opcion de descarga de xml, pero al querellamar el evento de clic para enviar datos de cer, key y demas me envia el mensaje:

unable to get property 'initmessages' en los botones de buscar los archivos y
unable to get property 'get Token' evento del boton enviar

Alguien que em pueda auxiliar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 09/03/2015 23:37:13
Buenas tardes Karina

Yo en lo personal y por cuestiones de seguridad, dejo que el cliente ingrese su FIEL o su CIEC, pero parece que mas arriba alguien comparte como lo hace.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 10/03/2015 23:57:13
una pregunta en esta linea me marca error que deberia de ir en la ruta de guardar
1
2
3
4
5
6
7
8
wc.DownloadFile(URI, "c:\hu")
 
 
'recorro el listBox y voy descargando uno por uno
For i = 0 To ListBox1.Items.Count - 1
URI = ListBox1.Items.Item(i).ToString.Trim
wc.DownloadFile(URI, ruta a guardar)
next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 11/03/2015 02:06:28
marca este error

an exception ocurred during a webclient request

ya funciona todo el codigo solo al final al querer bajar el XML marca este error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 12/03/2015 21:30:29
Buenas tardes Salvador

Veo que solo copias y tratas de adaptar el código a tus necesidades sin revisar, en mi caso la gran mayoría de lo que se es por ver e investigar.

WebCliente Download requiere dos parámetros

1. Lo que descargas
2. Hacia donde lo descargas incluyendo el nombre del archivo

En este caso lo que te falta es el nombre del archivo destino

wc.DownloadFile(URI, "c:\hu" & "\" & nombre temporal del archivo)

Yo lo que hago es guardar los archivos con el nombre de la literal con que recorro el for (0.xml, 1.xml, 2.xml, n.xml)

Y después abro el archivo, busco el UUID y renombro el archivo.

Saludos GRC

P.D. Espero mi chela bien fria
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por salvador (1 intervención) el 12/03/2015 22:37:04
gracias por el comentario. lo tomare encuenta.
despues de que baja los archivos xml . el contenido de cada uno es esto



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head id="ctl00_Head1"><title>
 
</title><meta http-equiv="cache-control" content="no-cache" /><link href="Styles/sat.css" rel="stylesheet" type="text/css" /><link rel="shortcut icon" href="Images/favicon.ico" type="image/vnd.microsoft.icon" /><link rel="icon" href="Images/favicon.ico" type="image/vnd.microsoft.icon" />
</head>
<body>
    <form method="post" action="Error.aspx?aspxerrorpath=%2f%3cimg+name%3dBtnDescarga+width%3d25+height%3d25+title%3dDescargar+class%3dBtnDescarga+id%3dBtnDescarga+style%3dcursor%3a+pointer%3b+onclick%3dreturn+AccionCfdi(%27RecuperaCfdi.aspx" id="aspnetForm">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="b3TiFw1Y6DdPzGMlRNELa9BI8fqKCGlzeQ7iQzSZMhl14Gq7MTLNvG8tmy/Tlth5VVFCppdPrlfN+NcuNh+/bbm7k5Fz57JSY3KvwpCedl4cKKz4dRvLHDBX2Ntb/F57bmJFRycFa3+udLcRMcNZk9yeqcI=" />
 
 
<script src="/ScriptResource.axd?d=yZa9Z0Sj-Jlwg86i3S3WAHqRAai7UY3B7tiaPWTpKX0rT67QDO6fvnmKmhtlp1xeUd5vP5UK18fz4AJ84m9CShODTRkCI-7rCSuwqFQ_DIHzSADZJSukr-0989iA4PyNvA7oOnoxqkwoTZbnuS99A3n_XiUthm4IsdCar6CEpaHwkrYt0&amp;t=ffffffffb53e74b8" type="text/javascript"></script>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="AB827D4F" />
<input type="hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" />
 
    <div id="cuerpo_principal">
        <div id="encabezado">
            <div id="firma_busquedax">
                <img id="ctl00_PnlEncabezado" src="Images/headerRojo.jpg" height="70" width="970" />
            </div>
            <div id="encabezadoPortal">
            <table style="width: 960px; background-color: #EEEEEE; text-align: right; border-collapse: collapse; border-color: #EEEEEE" cellspacing="0" cellpadding="0">
                <tr>
                    <td style="width: 320px"></td>
                    <td style="width: 320px; font-size: 14px; text-align: center" rowspan="2">Factura Electrónica</td>
                    <td style="width: 320px; font-size: 10px"></td>
                </tr>
                <tr>
                    <td style="width: 320px; font-size: 10px"></td>
                    <td style="width: 320px; font-size: 10px"></td>
                </tr>
            </table>
            </div>
        </div>
 
        <div id="cuerpo">
 
<div style="width:100%; text-align:center; margin-top:50px" >
<h1>Ha ocurrido un error al procesar su &uacute;ltima acci&oacute;n</h1>
<p>Si reporta este error, favor de indicar la siguiente referencia: 57fffa24-afca-4c4e-b514-38423e644cea</p>
</div>
 
        </div>
    </div>
    <div class="footer">
 
    </div>
    </form>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 12/03/2015 23:20:26
Hola Salvador

Lo que te esta descargando es un respuesta de error del servidor del SAT, mismo que ya comente anteriormente, este error me costo 2 días de investigación, por lo que me gustaría que revisaras bien tu código ya que la respuesta y solución ya la di.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 19/03/2015 21:29:50
=O pero que buen aporteeeeeeeeeeeeeeeee! el unico error que tenia era en el datasize XD jajajajaaja muchas gracias a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 20/03/2015 14:49:46
Muchas gracias ya funciono
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Victor Huerta (1 intervención) el 24/03/2015 21:05:30
Hola chicos,

Estoy tratando de desarrollar una aplicacion en C# que me permita bajar de manera masiva los xml, me dieron como referencia este link, ya lo he leido varias veces pero no logro interpretar su conocimineto para llevar acabo dicho progrma.

Lo que he logrado es generar un WebBrowser que me muestra la pagina del sat y firmarme con para poder visualizar el grid donde muestra los xml.

No se si alguien de ustdes pudiera orientarme que paso seguir o si le fuera posible enviarme un tutorial.

Antemanomuchas gracias.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 24/03/2015 22:03:09
Hola Victor Huerta, puedes contactarme a mi correo y te ayudo con tu app
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 25/03/2015 17:50:51
Hola como estan?, esta muy interesante el tema, quiero contribuir, no se si ya terminaron o hasta donde llegamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 25/03/2015 20:51:33
Hola a todos, he visto que aun hay algunos que están batallando un poco, pero bueno es bueno aprender cosas nuevas, de todos modos si no quieren batallar, aquí les dejo el desarrollo que hice.

https://www.dropbox.com/s/ncumfl1zdom82cx/Recuperar%20CFDI.zip?dl=0

Solo para reforzar lo que ya menciono en la misma app, los datos no los guardo en ningún lado, los datos solo son usados para obtener un respuesta del SAT, en este caso los CFDI.

Cualquier cosa/error/sugerencia pueden mandarme un correo.

Saludos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 26/03/2015 02:52:00
Hola Miguel Salazar

Solo falta la parte para poder descargar mas de 500 cfdi, ya que el SAT cuando son mas de 500, solo te muestra los primeros 500.

Si tienes algo, seria binvenido tu aporte.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel s
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel s (34 intervenciones) el 26/03/2015 17:53:20
Yo lo resolvi haciendo la consulta por dia, pero si de mala suerte recibes mas de 500 por dia no tengo la solucion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 26/03/2015 18:41:30
Buenos dias Alejandro

Fijate que en la red existe un programa que si lo hace, te permite descargar mas de 500 en recibidos, y es la parte que estoy investigando.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 30/03/2015 07:49:30
Es relativamente fácil, digamos que hacemos la primera consulta y vemos que fecha y hora de emisión tiene el ultimo comprobante del lote de 500, entonces la segunda consulta sera a partir de ese ultimo comprobante, el lío es interactuar con los controles que proporciona la pagina del SAT, sin embargo es mas sencillo hacer las consultas manualmente, todo se puede pero el desarrollo lleva su tiempo, dejo un demo de mi proyecto a ver que tal les parece http://goo.gl/GGs3o4

Alejandro Probe tu proyecto pero al dar clic en procesar manda a la pagina: NetIQ Access Manager para evitarlo en el elemento
<a href="/nidp/app/login?id=SATUPCFDiCon&amp;sid=0&amp;option=credential&amp;sid=0">Contraseña</a>
debes de invocar htmlElement.InvokeMember("click") en lugar de poner poner la dirección en
webBrowser.Navigate("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0")

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 30/03/2015 17:21:04
Yo creo que esta un poco facil, podemos partir en 3 consultas de 8hrs por dia, y en caso de ser mas pesada para la empresa que se consulta pues podemos hacer la consulta hasta por hr y asi queda resuelto sin bronca, Pienso que la solución de marco es buena, pero creo que pierde la facilidad para el usuario , en el sentido de que ellos tienen que estar poniendo los rangos manualmente, ya no se seria una descarga masiva automatica... ya estoy haciendo la prueba por dia y funciona sin problemas, nadamas me falta hacer la asignación del rango de hora y listo. Si a alguien le interesa, le puedo compartir parte de mi codigo lo tengo hecho en c# y vb.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por juanp.delagarza (1 intervención) el 30/03/2015 22:24:43
Muchas gracias por el codigo, para aquellos que programan en c# les copio como converti el codigo espero les sirva

// DllImport
using System.Runtime.InteropServices;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref uint pcchCookieData, int dwFlags, IntPtr lpReserved);
const int INTERNET_COOKIE_HTTPONLY = 0x00002000;
 
 
//proceso de descarga
public int contadorDescarga = 0;
public void procesarDescarga()
{
 
    if (contadorDescarga < xmlaDescargar.Count)
    {
    progressBar1.Value = 0;
 
    WebClient webClient = new WebClient();
 
    string cc = "";
 
    uint datasize = 8192;//blog
 
    StringBuilder cookieData = new StringBuilder((int)datasize);
    string dw_path = System.Convert.ToString(webBrowser1.Document.Url);
    //MessageBox.Show("url " + dw_path);
    if (InternetGetCookieEx(dw_path, null, cookieData, ref datasize, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) && cookieData.Length > 0)
    {
        cc = cookieData.ToString();
    }
    else
    {
        cc = "";
    }
    webClient.Headers.Add(HttpRequestHeader.Cookie, cc);
 
 
 
    webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
    webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
 
    frametxt.Text = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi" + xmlaDescargar[contadorDescarga];
 
    webClient.DownloadFileAsync(new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi" + xmlaDescargar[contadorDescarga]), @"c:\adescarga\file" + contadorDescarga + ".xml");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Neftali (1 intervención) el 31/03/2015 21:10:01
Hola buen día! Estuve leyendo las intervenciones y me parece muy bien esta iniciativa, quiero contribuir al proyecto, estoy en la misma situación, estoy desarrollando una aplicación similar.
Me gustaría apoyarlos con los reportes, si alguien puede ponerse en contacto conmigo para darme los requerimientos de los reportes, con gusto colaboraré. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 01/04/2015 02:11:36
Que lenguaje estas usando?, tengo un proyecto en vb .net que puedo compartir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Raymundo (3 intervenciones) el 01/04/2015 23:33:32
Buenas tardes Geraro, estoy viendo que eres una eminencia es esto, tome tu codigo y lo cargue en una plaicacion nada mas tengo una pregunta el Style="cursor.pointer" donde lo cargas especificamente.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 02/04/2015 01:04:56
Dejo el link de un proyecto funcionando que descarga los XML del sat, es proyecto vb .NET no son pedazos de código, es proyecto en vb .NET, este código fue armado con lo copilado en estos blogs, por lo que creo que es justo postear el resultado de esto.

http://1drv.ms/1G5Go4u
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Raymundo (3 intervenciones) el 02/04/2015 03:56:44
Muchísimas gracias Netzen me quitaste mucho stress de encima, con esto termino mi proyecto que bueno que existen este tipo de foros para ayudarnos a los que carecemos de conocimiento..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 02/04/2015 09:58:45
Que bueno que te sirvió, ojalá pronto nos presentes alguna mejora y seguir haciendo esto más útil para todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 04/04/2015 07:54:51
Para quienes les gusta usar LINQ

For Each imgUrl As String In From htmlElement As HtmlElement In htmlElementCollection Let imgUrl1 = htmlElement.GetAttribute("id") Where imgUrl1 = "BtnDescarga" Select Replace(htmlElement.OuterHtml, Chr(34), vbNullString)
'En estads dos variables, localizas la cadena del comproBante
cadIni = InStr(imgUrl, "?Datos=")
cadFin = InStr(imgUrl, "','Recuperacion')")

imgUrl = imgUrl.Substring(cadIni, (cadFin - cadIni) - 1)
imgUrl = "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?" & imgUrl
'Guardo la cadena en un listBox oculto en el formulario del WebBrowser
ListBox1.Items.Add(imgUrl)
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 04/04/2015 08:14:50
adjunto el proyecto de Netzen modificado para el uso de LINQ y una captura de que es lo que pasa si se pone directamente la dirección para el usuario y contraseña al navegar y no dese el tag contraseña como comente antes.

Captura-de-pantalla-18
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 04/04/2015 08:33:00
Al que le pase esto basta con que le de click en ir a Sat y se redireccionara a la página del Sat
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JOSE JORGE AGUILAR (2 intervenciones) el 06/04/2015 19:30:45
ESTA BIEN SOLO QYE HAY QUE HACER LA ACTULIZACION CUANDO ALLA ACABADO DE CARGAR LA PRIMERA PANTALLA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 07/04/2015 04:10:10
Hola a todos

Me tome unos dias de vacaciones, pero la cosquilla de revisar el foro.

Estoy nuevamente hasta el 13 de Abril.

Solo una pregunta para Marco Antonio: no entiendo eso del LINQ me puedes explicar.


Buenas tardes Alejandro

Estoy descargando tu aplicacion, pero me gustaria mas que compartieras tu codigo si puedes enviame una copia.


Buenas tardes Miguel Salazar

A las consultas que te refieres son por programacion??? o manualmente desde el WebBrowser en la pagina del SAT

Si puedes enviame codigo para analizarlo.

Y los dejo porque estoy disfrutando de unas merecidas vacaciones con Mi esposa y mis hijas.

Saludos y Hasta pronto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel salazar (34 intervenciones) el 07/04/2015 15:44:37
Si, de hecho la apliccion que hice todo es por programacion, sin pantalla de navegacion manual, funciona muy bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 07/04/2015 23:03:51
Estoy trabajando en una nueva versión y por supuesto publicare el proyecto completo, todas sus colaboraciones son bienvenidas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 13/04/2015 23:32:11
Buenas tardes a todos

Pues de regreso a la Realidad

Hola Miguel me podrias compartir tu codigo para analizar la parte de las consultas.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Ruth D (2 intervenciones) el 04/06/2015 00:07:09
Hola Gerardo:

Espero que me puedas ayudar, la verdad es que no soy muy buena con el excel en cuestiones de programación, asi que, lo que hice fue copiar tal cual tu "proyecto" y pegarlo en una macro creada a la que el puse nombre y lo quise arrancar al asignarselo a una figura, pero desde la primera linea me indica: Error de compilación Se esperaba fin de la instruccion, no se que estoy haciendo mal, pero como te repito, no soy muy diestra en esto.

De antemano gracias por tu ayuda

Atte. Ruth
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Ruth (2 intervenciones) el 04/06/2015 00:12:13
Hola Netzen:

Ya guarde la carpeta zip de tu enlace, me podrias indicar porfavor como se utiliza esto

De antemano gracias

Atte. Ruth
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 04/06/2015 00:41:33
Es un proyecto para visual studio 2010 pero sin problema te puedo pasar un exe, incluso estoy por poner una página para su descarga y poner las colaboraciónes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Delfino III Salinas Sepulveda (1 intervención) el 16/06/2015 07:23:45
juanp.delagarza, tu traduccion del codigo es incompleta

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lazz

Descarga Masiva XML SAT

Publicado por Lazz (2 intervenciones) el 10/07/2015 22:25:48


Hola alguien me podría ayudar?, no logro convertir este codigo a C#

1
imgUrl = Strings.Replace(htmlElement.OuterHtml, Strings.Chr(34), "")

Alguien tiene alguna idea?, ya recurrí a varios programas y paginas para hacer la conversión de los códigos pero no me correo aún :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 23/06/2018 00:03:43
Hola Chicos!

Tengo una pregunta!

Tengo un código de descarga de xml el cual usa webbrowser, con este metodo he registrado
que la descarga se efectua en promedio 2 XML por segudo.

Sin embargo he visto programas que hacen la descarga masiva que efectuan la descarga muy rápido.

La pregunta es:
Si ya tengo las URLs RecuperaCfdi.aspx?Datos=9/VCiXXX en un List, lo que hago es recorrer todo el list y el usar el siguiente codigo
para descarga:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Function DownloadFileViaWebCliente(ByVal address As String, ByVal fileName As String, ByVal urlwb As String) As Integer
    Dim ret As Integer = 1
    Try
        Dim cookie As String = CookieReader.GetCookie(urlwb)
        Dim webClient As System.Net.WebClient = New System.Net.WebClient()
        'Si el archivo existe los eliminamos
        If (File.Exists(fileName)) Then
            Try
                File.Delete(fileName)
            Catch ex As Exception
 
            End Try
 
        End If
 
        webClient.Headers.Add(HttpRequestHeader.Cookie, cookie)
        webClient.DownloadFile(address, fileName)
        ret = 0
 
    Catch exception As System.Exception
        Throw New System.Exception(exception.Message)
        ' MsgBox(exception.Message)
    End Try
    DownloadFileViaWebCliente = ret
End Function

¿Hay alguna forma de efecturar más rápido la descarga?, pueden darme unos tips , porfa

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 21 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por abel (1 intervención) el 25/08/2020 03:54:49
podrias compartir tu codigo xfa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por reynaldo (5 intervenciones) el 12/07/2022 22:23:36
buenas tardes amigos, no puedo abrir el link http://1drv.ms/1G5Go4u, me podrian ayudar por favor. Muy amable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Reynaldo (5 intervenciones) el 14/07/2022 17:53:26
amigo no puedo descargar tu proyecto, me gustaria checarlo, muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rodolfo Reyes (2 intervenciones) el 24/04/2015 17:12:23
Que tal
Por si a alguien le interesa , encontré en internet una librería que permite integrar a tu desarrollo la descarga masiva, directamente de los servidores del SAT, de los comprobantes que emites o recibes, trae un demos para VB, http://www.facturando.mx/productos/libreria-descargar-cfdi-sat/ espero les sirva, es fácil de integrar y funciona sin problema.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por ricardo (2 intervenciones) el 02/09/2015 03:42:12
Antes que nada, muchísimas gracias por toda la información que compartiste.

mi problema es el siguiente, si al firmarse en el portar se pone el RFC o el Passworr mal, manda un mensaje de error y no se como captalo, para controlarlo por código. Esto lo necesito por que el web borwser lo tengo oculto para que el usuario no interactue con el. entonces lo que quiero es camptarlo yo aceptarlo y en un MsgBox yo avisarle al usuario y que se firme de nuevo.

de antemano muchas gracias por su atención.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 02/07/2015 02:45:11
Tengo una duda, estoy usando un programa independiente para programar del tipo Visual Basic, en el no hay una funcionaria que me haga colecciones HTML.

Soy novato en este tema y me gustaría aprender. En mi programa, le puse una clase, con la cual puedo descargar las cookies en general del sistema, o especificarle una en especial del sitio que esté viendo.

Pero cuando obtengo la Cookie del sitio web que se está mostrando, ya previamente me logueé con mi RFC y CIEC, hice una consulta de facturas recibidas. allí es cuando obtengo la Cookie. pero no me aparece ningun objeto "Masivapg0"


Solo me salen un montón de caracteres como 6 lineas de puros caracteres. ¿Qué estoy haciendo mal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 18/12/2015 15:56:53
Ok principalmente una disculpa para todos aquellos que me han contactado y no he tenido la oportunidad/tiempo de responderles, tratare de hoy por la tarde liberarles mi código de la aplicación de escritorio que yo uso para recuperar todas (o en su mayoría... 12 mil facturas por día) las facturas del SAT.

Nuevamente una disculpa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por leonardo (5 intervenciones) el 13/03/2016 22:44:02
Hola quien me puede ayudar, quiero descargar cfdi de la pagina del sat estoy realizando un par de pruebas con htmlunit, si acceso por esta url https://portalcfdi.facturaelectronica.sat.gob.mx/ me manda al form de FIEL para que desde ahi puedas accesar, lo que yo quiero es ingresar por contraseña entonces ingreso por esta url https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0 pero al accesar con htmunit,me direcciona a una paguina donde muestra el perfil del usuario y de ahi no pido pasar tal parece que direcciona a una paguina diferente, ademas al imprimir ese html del perfil, en un input del mismo html me imprime un token en xml.

este es parte de mi codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public void submittingForm() throws Exception {
	HtmlPage page1 = null;
	try (final WebClient webClient = new WebClient()) {
 
		// Get the first page
		final HtmlPage page = webClient.getPage("https://portalcfdi.facturaelectronica.sat.gob.mx/");
		page1 = webClient.getPage("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
 
		webClient.getOptions().setUseInsecureSSL(true);
 
//	       WebResponse response = page1.getWebResponse();
//	       String content = response.getContentAsString();
//			 System.out.println(" Resultados :::: "+content);
			System.out.println(" Resultados :::: "+page);
		// Get the form that we are dealing with and within that form, 
		// find the submit button and the field that we want to change.
		final HtmlForm form = page1.getFormByName("IDPLogin");
 
 
 
 
		form.getInputByName("Ecom_User_ID").setValueAttribute("dato");
		form.getInputByName("Ecom_Password").setValueAttribute("dato);
		//final HtmlTextInput textField = form.getInputByName("userid");

		// Change the value of the text field
		// textField.setValueAttribute("root");
		final HtmlSubmitInput button = form.getInputByName("submit");
		// Now submit the form by clicking the button and get back the second page.
		page1 = button.click();
		
		//WebResponse response = page1.getWebResponse();
		//List<NameValuePair> content = response.getResponseHeaders();
		System.out.println(""+page1.asXml());
//	        System.out.println(page2.getBaseURL());
//	        System.out.println(page2.getBody().getIndex());
//	        System.out.println(page2.isHtmlPage());
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 13/03/2016 23:01:33
Puedes revisar mi código en
http://descargacfdis.blogspot.mx/2016/03/descargar-cfdis-del-sat.html?m=1

Estaré publicando actualizaciones y mejoras con ayuda de quien guste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Luis Enrique (1 intervención) el 01/02/2017 15:41:11
Hola, estoy interesado en el código fuente para poder implementarlo en mi sistema.

Hay alguna manera de poder ejecutar varias instancias del programa para que descargue simultaneamente de varios RFCs

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 17/02/2017 22:13:41
Aqui dejo un proyecto que encontre en la web ya terminado, puede servir para los usuarios finales o para tomar como ejemplo, es un convertidor xml a pdf masivo con excel:


dejo abajo la descarga directa.
http://ventadepcs.com/down/ConvertidorXMLaPDF.exe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por CHRISTIAN (2 intervenciones) el 09/04/2015 22:50:36
Buen día

Antes que nada un agradecimiento a todos los que participan en este aparente "pequeño" proyecto pero que a muchos nos costó bastantes dolores de cabeza. Gracias por el aporte de su tiempo, conocimientos y código.

En lo personal me ayudó a terminar lo que ya llevaba iniciado e incluso ya viendo como lo resolvieron parece que no estaba tan perdido.

Comparto el resultado final con la combinación del código que tan amablemente comparten y parte de lo que yo hice, espero les sirva.

En terminos generales el sistema pide usuario y contraseña para que se capturen en textbox, también pide la carpeta donde desean que se guiarden los archivos xml y estos los guarda con el nombre del folio fiscal contenido en cada archivo.

Por cualquier duda o comentario quedo a sus ordenes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Aldo (8 intervenciones) el 24/04/2015 16:52:48
Hola, soy nuevo en esto de la programación jeje. agradezco a todos sus aportaciones y estoy intentando realizar un proyecto conforme a sus instrucciones, solo que tengo una duda al probar tu archivo Crhistian

Cuando introduzco RFC y Contraseña me da el error de que son incorrectos.

Pero ya verifique y si están bien mis datos, ¿A que se deberá?}

Saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por CHRISTIAN (2 intervenciones) el 29/04/2015 00:40:13
Lo unico que se me ocurre Aldo es que cheques que capturas correctamente mayúsculas y minúsculas. Y si no, trata de actualizar el java en la maquina donde lo estás ejecutando. Lo tengo trabajando con varios usuarios sin problema.

De cualquier manera quedo a tus ordenes si te surge alguna otra duda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por leonardo (5 intervenciones) el 13/03/2016 22:44:57
Hola quien me puede ayudar, quiero descargar cfdi de la pagina del sat estoy realizando un par de pruebas con htmlunit, si acceso por esta url https://portalcfdi.facturaelectronica.sat.gob.mx/ me manda al form de FIEL para que desde ahi puedas accesar, lo que yo quiero es ingresar por contraseña entonces ingreso por esta url https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0 pero al accesar con htmunit,me direcciona a una paguina donde muestra el perfil del usuario y de ahi no pido pasar tal parece que direcciona a una paguina diferente, ademas al imprimir ese html del perfil, en un input del mismo html me imprime un token en xml.

este es parte de mi codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public void submittingForm() throws Exception {
    HtmlPage page1 = null;
    try (final WebClient webClient = new WebClient()) {
 
        // Get the first page
        final HtmlPage page = webClient.getPage("https://portalcfdi.facturaelectronica.sat.gob.mx/");
       page1 = webClient.getPage("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
 
       webClient.getOptions().setUseInsecureSSL(true);
 
//	       WebResponse response = page1.getWebResponse();
//	       String content = response.getContentAsString();
//			 System.out.println(" Resultados :::: "+content);
         System.out.println(" Resultados :::: "+page);
        // Get the form that we are dealing with and within that form,
        // find the submit button and the field that we want to change.
        final HtmlForm form = page1.getFormByName("IDPLogin");
 
 
 
 
        form.getInputByName("Ecom_User_ID").setValueAttribute("dato");
        form.getInputByName("Ecom_Password").setValueAttribute("dato");
        //final HtmlTextInput textField = form.getInputByName("userid");
 
        // Change the value of the text field
       // textField.setValueAttribute("root");
        final HtmlSubmitInput button = form.getInputByName("submit");
        // Now submit the form by clicking the button and get back the second page.
        page1 = button.click();
 
        //WebResponse response = page1.getWebResponse();
        //List<NameValuePair> content = response.getResponseHeaders();
        System.out.println(""+page1.asXml());
//	        System.out.println(page2.getBaseURL());
//	        System.out.println(page2.getBody().getIndex());
//	        System.out.println(page2.isHtmlPage());
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Marcel (5 intervenciones) el 24/04/2015 17:45:01
Buen día.

Para todo aquel que se haya cansado de buscar y no encontrar, aqui tengo a la venta este programa que hace eso, les dejo el manual para los que le interesen, el costo es de $500.00 pesos.

https://www.dropbox.com/s/jc9po2neckhszen/manual.pptx?dl=0
propaganda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 24/04/2015 22:25:06
Buenas tardes Marcel

Creo que este es un foro de ayuda y aportes para elaborar aplicaciones y no de venta

Tambien te comento que mi aplicacion tambien la vendo pero no en este foro, en todo caso te recomiendo que tus publicaciones las hagas en Mercado Libre por ejemplo, para no quitarle el sentido a este foro.

Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lo permiten ?

Publicado por cARLOS (2 intervenciones) el 05/09/2015 20:53:33
Bueno, pues si lo permiten yo tambien pondre mi anuncio o es de desarrollo o permiten los anuncios ? como veo que no se borro el que colocaron, quiere decir que si se permiten ? gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 25/04/2015 01:48:07
SI amigo Marcel, esto es para colaboracion, no para lucro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Julio Vazquez (55 intervenciones) el 04/05/2015 19:13:36
Miguel ¿podrias dar mas informacion de como lo hiciste sin el webbrowser?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 04/05/2015 22:20:34
Claro que si amigo, aqui les pongo el codigo para todos aquellos que les interese, y si lo mejoran, estaria bueno que compartan.

https://mega.co.nz/#!lwIGRBKQ!yU2pTmjVPZOFVq1Zd0AI0EOs6dwAiHO1WJWRdEAs2N4

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 07/05/2015 21:39:04
Muchas gracias amigo Miguel, hoy por la tarde reviso el código y comparo con el que yo también compartí, ya si se puede mejorar algo te lo comento lo mas pronto posible o subo el código aquí para que todos puedan verlo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 10/05/2015 05:28:48
Que tal Colegas

Estoy analizando el programa que postearon
Pero mi duda es que no se cumple ninguna de las 2 condiciones
O sea ni entra al "" if "" donde se autentifico y tampoco entra al de Clave Incorrecta
Yo esperaba que de perdido entrara al de Clave Incorrecta

Les copio el código que es con el que tengo problemas y el contenido del this._wbSat.Url

Espero me puedan aclara mi duda

Saludos
Halcón Divino

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0"))
{
	this.Message(string.Format("Usuario {0} Autentificado correctamente.", this.cmbAccount.SelectedItem));
	if (this.rbtReceived.Checked)
	{
		this._wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx");
	}
	if (this.rbtSended.Checked)
	{
		this._wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx");
	}
}
if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app/login?sid=0&sid=0"))
{
	this.txtPassword.Focus();
	this.txtPassword.SelectionStart = 0;
	this.txtPassword.SelectionLength = this.txtPassword.Text.Length;
	this.Message("Clave CIEC incorrecta, favor de verificar RFC y Clave.");
}

El contenido de this._wbSat.Url
{https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=ABCD010101XYZ&Ecom_Password=12345678}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 10/05/2015 05:39:34
Trae varios detalles, ya los corregí, mañana posteo el proyecto con labels y puede descargar mas de 500 cfdi por mes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edén

Descarga Masiva XML SAT

Publicado por Edén (26 intervenciones) el 10/05/2015 08:50:40
Listo, lo prometido es deuda, se corrigieron detalles, ojala esto siga evolucionando, alguien que agregue la administracion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 10/05/2015 19:34:22
Super bien, solo un detallito que yo creo que fue error de dedo.

Otra cosa que les ofrezco, tengo un proyecto de Recepción y validación de CFDI en el que podemos integrar esto con lo recibido, o uno de facturacion con la recepción, tiene reporteria muy util, y creo que seria bueno integrarlo con la descarga masiva y podeter tener tanto mis facturas integradas como lo que recibo, y podemos hacer un buen producto.

Si les interesa colaborar evisenme y lo subo a Github, para que lo trabajemos , est desarrollado con:
-*Telerik
-*SQL
-*VS2010

Yo les doy las librerias, me interesa que podamos hacer algo mas robusto en colaboración y despues podamos cobrar por implementarlo con nuestros clientes.

1
2
3
4
5
6
7
/*con error en lblStatus.Text */
flag1 = (this._wbSat.Url != new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx") ? true : !(this._wbSat.Url != new Uri(this.lblStatus.Text)));
if (!flag1)
 
/*creo que deberi ser así. */
flag1 = (this._wbSat.Url != new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx") ? true : !(this._wbSat.Url != new Uri(this._currentUrl)));
if (!flag1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 15/05/2015 18:52:55
Muchas Gracias

Ya pude descargar los XML
El problema que tenia era que la contraseña estaba incorrecta.
Pero la lógica del programa no entra por el IF que debería de decir ""Clave CIEC incorrecta ""


Y como dice Miguel hay que hacer la siguiente corrección para los XML Emitidos en el código del programa C#

1
2
3
4
5
6
7
/*con error en lblStatus.Text */
flag1 = (this._wbSat.Url != new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx") ? true : !(this._wbSat.Url != new Uri(this.lblStatus.Text)));
if (!flag1)
 
/*creo que deberi ser así. */
flag1 = (this._wbSat.Url != new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx") ? true : !(this._wbSat.Url != new Uri(this._currentUrl)));
if (!flag1)

Nuevamente MUCHAS GRACIAS
Saludos
Halcón Divino
Monterrey, N.L.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 11/05/2015 22:55:43
EDEN ..... Que tal !!

Descargue el proyecto del 10 de Mayo que posteaste pero revisando el código en la parte donde no logro autentificar el RFC o que me diga que la Clave es incorrecta sigue igual. o sea el código es el mismo

No se a que se deba o no se si me puedan apoyar

Al dar DEBUG al proyecto línea por línea me doy cuenta de que no se cumple ninguna de las 2 condiciones
O sea ni entra al "" if "" donde se autentifico y tampoco entra al ""IF"" de Clave Incorrecta
Yo esperaba que de perdido entrara al de Clave Incorrecta

Les copio el código que es con el que tengo problemas y el contenido del this._wbSat.Url



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0"))
{
	this.Message(string.Format("Usuario {0} Autentificado correctamente.", this.cmbAccount.SelectedItem));
	if (this.rbtReceived.Checked)
	{
		this._wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx");
	}
	if (this.rbtSended.Checked)
	{
		this._wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx");
	}
}
if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app/login?sid=0&sid=0"))
{
	this.txtPassword.Focus();
	this.txtPassword.SelectionStart = 0;
	this.txtPassword.SelectionLength = this.txtPassword.Text.Length;
	this.Message("Clave CIEC incorrecta, favor de verificar RFC y Clave.");
}

El contenido de this._wbSat.Url
{https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=ABCD010101XYZ&Ecom_Password=12345678}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 11/05/2015 23:02:54
Revisa tu contraseña, debe ser eso, voy a revisar el código, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 11/05/2015 19:05:40
Hola Netzen

Ya lograste la bajada de mas de 500????

Yo en lo personal no he podido por falta de tiempo me puedes compartir como lo hiciste.

Saludos y Gracias anticipadas.

Es lo malo de estar fuera de estos rumbos cada quien hace lo que quiere JAJAJAJA no se suponia que el proyecto hera en VB.NET bueno pero creo que ha dado resultado poquito de VB.NET y poquito de C# y creo que todos hemos ganado verdad colegas o mejor me cierro la boca y a seguir trabajando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 11/05/2015 23:06:16
El truco esta en descargar por día, si el contribuyente recibe más de 500 diarias puedes hacerlo por hora, en el proyecto viene que descargues por mes, este es practico para empresas que reciben menos de 500 al mes, en caso contrario descarga del día 1 al ultimo del mes, ojalá ne haya explicado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 11/05/2015 23:42:16
Puedes barjar la version de Eden.

Para los que quieren en VB.net aqui esta también.
https://mega.co.nz/#!owhxySbL!YZ4iMRaEvQ1AEDMKTNC875YeCOrTswnMPXHHZ4ZuJiI


Les comento que sistema de facturaci+on ya timbra y toda la cosa, pero como ven, quien se anima o solo Netzen, le damos.


saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 11/05/2015 23:54:37
Con que pac estas timbrando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 11/05/2015 23:56:08
Finkok timbrado bajo demanda. 30c sin importan volumen
, tu?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 12/05/2015 00:38:51
Digifact y me los dejan hasta .25 pero si compro un buen, cualquiera de las dos opciones son buenas, pues manos a la obra, tengo un dominio podemos colgarnos de ahí o armar un blog
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Rolando (1 intervención) el 12/05/2015 04:38:27
Saludos, ya alguien lo ha hecho en VB 6 la descarga masiva de los XML, y si es asi, donde puedo conseguir el codigo, para implementarlo. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 12/05/2015 06:43:50
Colegas
Me pueden Ayudar

Estoy ejecutando el programa en C# y estoy analizando que no puede autentificar el RFC ni tampoco se va por el lado de que la cuenta es incorrecta.

Total no se cumple ninguna de las 2 condiciones
1. si es correcta
2. El RFC y Password. son incorrectos

De perdido debería de entra a una de estas 2 condiciones ...pero no entra a ninguna !!!
¿ Porque ???
Supongan que le pongo un RFC y Password incorrecto debería de entrar a la condición que manda el mensaje de """ Clave CIEC incorrecta, favor de verificar RFC y Clave. """ ... Pero no ni siquiera entra.


Que otros requisitos debo de tener
Tengo una Laptop de 64bits con Window 7 Profesional y Explorer 11 con todos las actualizaciones al día
También tengo instalado el Chilkat dotnet 4

Que mas Debo de tener ??? algún otro software o librería ???
Por ejemplo la wininet.dll como se que se esta correctamente cargando al proyecto ??
Requiero Java ???

Les agradesco su ayuda
Gracias
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 12/05/2015 06:47:56
Revisa que puedas entrar a la página del Sat sin problema, lo que hace el programa es que hace una instancia del explorador y se loguea, prueba el exe en otra PC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 12/05/2015 17:25:37
Entra en tu explorador al sitio y navegalo por completo, puede que tengas bloqueado la ejecucion de JS, agrega el sitio a sitios de confianza.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alex (3 intervenciones) el 12/05/2015 23:49:34
Hola Amigos Muy buenas tades me he desvelado bastante y e estado siguiendo este foro desde el principio ya que soy aprendiz aun en la programacion, les comento que he avanzado vastante he analizado los codigos pero aun sigo con dudas en el arte de la progamacion.
Hoy les quiero comentar que me gustaria agregarle una utilidad al la descarga masiva de xml, la cual intento realizar ahora y la cual me gustaria compartir con ustedes, lo que intento hacer es poner un boton para buscar la carpeta donde descargaron los XML y cargar el contenido de la carpeta en un DataGridView, hasta ahora lo que he logrado es que abra la ventana del buscador de archivos y me cargue un solo archivo al DataGridView, pero aun no logro que me cargue todo el contenido de la carpeta.
Acontinuacion les dejo el codigo que he realizado el cual les comento
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Imports System.Data
Imports System.IO
Imports System.Xml
Imports System.Array
 
 
Public Class Form1
 
    Dim Modulo As Object
 
    Public Property Multiselect As Boolean
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim openFileDialog1 As New OpenFileDialog()
        'Dim FolderBrowserDialog1 As New FolderBrowserDialog()
        openFileDialog1.InitialDirectory = "c:\"
        openFileDialog1.Filter = "xml files (*.xml)|*.xml"
        openFileDialog1.FilterIndex = 2
        openFileDialog1.RestoreDirectory = True
        Me.OpenFileDialog1.Multiselect = True
        If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
 
            Try
 
                Dim xmlDoc As New System.Xml.XmlDocument
                Dim xmlFile As String = ""
                Dim root As XmlElement = Nothing
                Dim ds As New DataSet
 
                TextBox1.Text = openFileDialog1.FileName()
                xmlFile = openFileDialog1.FileName
                ds.ReadXml(xmlFile)
                DataGridView1.DataSource = ds.Tables(0)
 
            Catch ex As Exception
                MessageBox.Show("El archivo no es un XML valido :(")
            End Try
 
        End If
 
    End Sub

El codigo anterior es funcional pero como les comento solo me carga un Archivo XML y lo que busco es que me cargue el contenido total de la carpeta XML por fila en el DataGridView.
Espero les sea de interes y podamos juntos relizar este aporte, yo creo que sera de mucha utilidad.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Aldo (8 intervenciones) el 13/05/2015 01:01:59
Hola Alex,

Mira yo tambien soy aprendiz en esto de la programación, fijate que en una consulta que hice me indicaron que se tendria que hacer un Listbox ahi buscar el arbol del directorio y de ahi pasarlo en un data grid, aunque eh visto que en un listview con formato de columnas tambien se puede.

Saludos y si se algo de inmediato lo posteo aca.

=)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 13/05/2015 05:40:07
Netzen / Miguel Salazar
O Cualquier otro Miembro del foro que me pueda ""Orientar""

Es con esta instrucción con la que tengo dudas o no le entiendo mdel todo :
1
if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0"))

Si el contenido de this._wbSat.Url es el siguiente:
1
https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=ABC010101XYZ&Ecom_Password=12345678
Como es que en tiempo de ejecución pueda ser igual a este valor
1
https://cfdiau.sat.gob.mx/nidp/app?sid=0

Como es que funciona la clase Uri para que pueda ser verdadera la condición

Cualquier comentario me sería util

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE MIGUEL
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por JOSE MIGUEL (34 intervenciones) el 13/05/2015 06:30:32
Practicamente eso sucede cuando mandas los parametros :
https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=ABC010101XYZ&Ecom_Password=12345678

te redireciona a :
https://cfdiau.sat.gob.mx/nidp/app?sid=0

y el handler lo cacha y ya hace lo que debe. no se si quedo claro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 13/05/2015 06:36:26
Alex, usa esta funcion o implmentala como debe para que puedas mostrar todo, esta facil.
**ACLARO, no es la solucion, si no que implementes su uso para hacer eso.
Te crea un DT con la definición de los atributos principales del XML.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Function DataTableOfIEnum(ByVal dtRows As IEnumerable(Of XElement)) As DataTable
        'Crea Datatable a partir de lo que Elementos obtenidos de dtRows "Consulta XML que es un IEnumerable<XElement>"
 
        Dim dtDescrValue As New DataTable()
        Try
 
            Dim rows As IEnumerable(Of XElement) = If(TryCast(dtRows, List(Of XElement)), dtRows.ToList())
            For Each dtColumn As XAttribute In rows.First().Attributes()
                'Crea Columnas
                dtDescrValue.Columns.Add(dtColumn.Name.ToString(), GetType(String))
            Next
 
            For Each dtRow As XElement In rows
                'Crea cada registro "Row"
                Dim dtDescrRow As DataRow = dtDescrValue.NewRow()
                For Each dtColumn As XAttribute In dtRow.Attributes
                    'Asigna valores de cada column de "Row"
                    dtDescrRow(dtColumn.Name.ToString()) = dtRow.Attribute(dtColumn.Name.ToString()).Value
                Next
                dtDescrValue.Rows.Add(dtDescrRow)
            Next
        Catch e As Exception
            'En caso de Error regresa un Data table con Id: "Error", Descr: Message de error.
            _ErrorMessUser = "Error al cargar datos: " & e.Message
            dtDescrValue = Nothing
        End Try
        Return dtDescrValue
    End Function
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alex (3 intervenciones) el 13/05/2015 17:45:53
Gracias Miguel Salazar , lo implementare y mostrare los resultados, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 13/05/2015 18:30:27
Hola Netzel

Si entendi tu logia, de hecho es lo que estaba tratando de hacer pero no se como, tu envias una consulta a la pagina del SAT es correcto??? a diferencia mia que cacho la consulta que el usuario genera del SAT . no se si me explique.

La verdad no quiero reinventar la rueda si ya lo implemento alguine, podrian apoyarme.

Desde ya Gracias y Saludos GRC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 13/05/2015 20:12:00
Así es de esa forma funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 15/05/2015 20:59:21
Para el caso de las descargas de mas de 500 XML por día habrá forma de hacerlo por un rango de Horas ???
O como se pudiera hacer ???

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 15/05/2015 21:03:19
Así es, puedes meter el control de hora para descargar por hora, si lo agregas compártelo eso lo ocupan empresas con demasiada recepción
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 16/05/2015 13:22:07
Netzen
Que tal !!!
Claro que lo compartiría ... pero no soy experto en estas clases de navegación ... lamentablemente si requiero un poco de apoyo.

Para poder hacer una consulta por rango de horas tendría que dar ""SET" o Asignar valores a las siguientes variables
- document.getElementById('ctl00_MainContent_CldFecha_DdlHora');
- document.getElementById('ctl00_MainContent_CldFecha_DdlMinuto');
- document.getElementById('ctl00_MainContent_CldFecha_DdlSegundo');

- document.getElementById('ctl00_MainContent_CldFecha_DdlHoraFin');
- document.getElementById('ctl00_MainContent_CldFecha_DdlMinutoFin');
- document.getElementById('ctl00_MainContent_CldFecha_DdlSegundoFin');

Mas o menos a como lo están haciendo para las variables de la fecha
- document.getElementById('DdlAnio');
- document.getElementById('ctl00_MainContent_CldFecha_DdlMes');
- document.getElementById('ctl00_MainContent_CldFecha_DdlDia');

En otras palabras seguiría la misma línea de programación que están usando.

Y una ultima duda Solo se están descargando los XML ""VIGENTES"" ... ¿ Es correcto ?? o estoy equivocado

Saludos
Halcón Divino
Monterrey
Nuevo León
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 16/05/2015 16:07:47
Así es. De los cancelados solo están los pdf.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 16/05/2015 16:23:58
Estoy adecuando el método GetSendedDocuments(int year, int month, int day) para incluir la Hora de inicio y final.
Como estoy en PRUEBAS estoy dejando en código duro la Hora inicial y Final
La Hora Inicial es las 13:00:00 y la Final 15:59:59

La asignación de los valores de la Hora inicial y Final la estoy poniendo debajo de la Fecha ctl00_MainContent_CldFechaInicial2_Calendario_text para que se den una idea donde estoy colocando el código.

El Problema que tengo es que si me respeta la Hora Inicial pero no me respeta la Hora final es como si tuviera 23:59:59
Ya cheque los nombres de las variables de la hora final y parecen estar bien
No se si entre la asignación de la Hora inicial y la Hora final debería de haber alguna lógica que permita que espere a que se asigne los valores de las horas.
O no se que me falte ...pero la hora final no me la esta tomando .

Cualquier apoyo se los agradesco.
Saludos


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
DateTime dateTime = new DateTime(year, month, day);
HtmlElement htmlElement1 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaInicial2_Calendario_text");
if (htmlElement1 != null)
{
	htmlElement1.SetAttribute("value", dateTime.ToString("dd/MM/yyyy"));
}
HtmlElement elementById2 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaInicial2_BtnFecha2");
if (elementById2 != null)
{
	elementById2.InvokeMember("click");
}
 
while (true)
{
	flag = true;
	Application.DoEvents();
	elementById = this._wbSat.Document.GetElementById("datepicker");
	flag2 = (elementById == null ? true : !elementById.Style.Contains("visibility: visible"));
	if (!flag2)
	{
		break;
	}
}
 
#region Set atributo de la Hora Inicial
HtmlElement elementById4 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaInicial2_DdlHora");
if (elementById4 != null)
{
	elementById4.SetAttribute("value", "13");
}
HtmlElement elementById5 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaInicial2_DdlMinuto");
if (elementById5 != null)
{
	elementById5.SetAttribute("value", "00");
}
HtmlElement elementById6 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaInicial2_DdlSegundo");
if (elementById6 != null)
{
	elementById6.SetAttribute("value", "00");
}
#endregion
 
#region Set atributo de la Hora Final
HtmlElement elementById7 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaFinal2_DdlHora");
if (elementById7 != null)
{
	elementById7.SetAttribute("value", "15");
}
HtmlElement elementById8 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaFinal2_DdlMinuto");
if (elementById8 != null)
{
	elementById8.SetAttribute("value", "59");
}
HtmlElement elementById9 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFechaFinal2_DdlSegundo");
if (elementById9 != null)
{
	elementById9.SetAttribute("value", "59");
}
#endregion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 16/05/2015 19:39:24
Continuando con mis pruebas de poder consultar por un rango de HORAS les comento que para el Método GetReceivedDocuments(int year, int month, int day) SI puedo hacer la consulta.

La Hora de inicio que estoy usando es 14:00:00 y la final es la 14:59:59
Esta codificado en forma fija sobre el programa que anexo porque son pruebas

Este código es muy similar al que estoy usando en el método GetSendedDocuments(int year, int month, int day) (ver post anterior) . ... Solo cambian los nombres de las variables.

Pues no entiendo que pasa ... En Recibidos SI funciona y en Enviados NO funciona ... bueno medio funciona porque solo me toma la Hora de inicio como les describí en el post anterior.

Cualquier ayuda es buena.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#region Set atributo de la Hora Inicial
HtmlElement elementById4 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlHora");
if (elementById4 != null)
{
    elementById4.SetAttribute("value", "14");
}
HtmlElement elementById5 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlMinuto");
if (elementById5 != null)
{
    elementById5.SetAttribute("value", "00");
}
HtmlElement elementById6 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlSegundo");
if (elementById6 != null)
{
    elementById6.SetAttribute("value", "00");
}
#endregion
 
#region Set atributo de la Hora Final
HtmlElement elementById7 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlHoraFin");
if (elementById7 != null)
{
    elementById7.SetAttribute("value", "14");
}
HtmlElement elementById8 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlMinutoFin");
if (elementById8 != null)
{
    elementById8.SetAttribute("value", "59");
}
HtmlElement elementById9 = this._wbSat.Document.GetElementById("ctl00_MainContent_CldFecha_DdlSegundoFin");
if (elementById9 != null)
{
    elementById9.SetAttribute("value", "59");
}
#endregion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 17/05/2015 15:37:49
Halcón Divino, a tu pregunta sobre si solo se descargaban los XML vigentes, te dí una respuesta errónea, están todos los xmls, con status vigente o cancelado, los que no están son los xmls de acuse de cancelación, solo se encuentran los pdfs, con el mismo uuid del XML pero con extensión pdf, valga la redondancia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 29/05/2015 05:43:10
Alejandro

Si te trae todos los vigentes y los cancelados , como tu dices pero no los XML (me refiero al cfdi timbrados) de los que están Cancelados l

Pero los cancelados no se procesan a como esta el método ProcessResult

Si quieren capturar los CFDI cancelados tendría que agregarse al método ProcessResult lo siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
if (elementBtnDescarga.Count == 0)
{
	IEnumerable<HtmlElement> htmlElements = elementRenglon.GetElementsByTagName("span").Cast<HtmlElement>();
	IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
	{
		bool innerText = span.InnerText != "";
		return innerText;
	});
 
	string DatosDelRenglon = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
	{
		string str = string.Concat(current, span.InnerText, "|");
		return str;
	});
 
 
	char[] chrArray = new char[] { '|' };
	// 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision6 Fecha Timbrado7 PAC 8 Total 9 Tipo CFDI 10 Estatus 11 Fecha Cancelacion
	string[] aDatosDelRenglon = DatosDelRenglon.Split(chrArray);
	try
	{
		if (aDatosDelRenglon[10] == "Cancelado")
		{
			String FechaCancelacion = aDatosDelRenglon[11];
			String FechaEmision = aDatosDelRenglon[05];
			// La lógica que deses agregar para identificar los cancelados
 
		}
	}
	catch
	{
		// Continua adelante o con el siguiente renglón de la tabla
 
	}
 
}


Y si solo se quiere filtrara los cancelados habría que incluir en los métodos de GetReceivedDocuments y en el e GetSendedDocuments algo así

1
2
3
4
5
6
7
#region Set atributo de Estatus
HtmlElement elementById10 = this._wbSat.Document.GetElementById("ctl00_MainContent_DdlEstadoComprobante");
if (elementById10 != null)
{
	elementById10.SetAttribute("value", "0");
}
#endregion

El 0 es Cancelado y el 1 sería Vigente



Y por Ultimo
Aún sigo sin poder acotar la HORA de CFDI Emitidos tal como lo expuse en el post anterior
Si alguien pudiera apoyarme

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 01/06/2015 23:09:02
Dame oportunidad de terminar unos proyectos y si lo armo, se los paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Carlos (2 intervenciones) el 13/06/2015 06:11:24
Pues yo descargue pero no me deja se queda colgada la pantalla cuando le doy en "consultar" de ahi no permite la descarga......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 13/06/2015 08:19:12
Revisa que puedas entrar al Sat con tu explorador predeterminado y descarga un par de facturas manualmente y posteriormente inténtalo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por carlos (8 intervenciones) el 14/06/2015 04:21:53
En el sat, entra perfecto, el detalle es que en la aplicacion se queda como el cursor statico y solo gira cuando se mueve el mouse, si lo dejo ahi trabajando a ver si termina, nunca terminaa....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 14/06/2015 08:04:44
sistema operativo, nombre del explorador y versión del explorador?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por carlos (8 intervenciones) el 14/06/2015 15:29:07
Hola gracias, Windows 7, chrome 43.0.2357.124
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Netzen

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 14/06/2015 21:13:15
Prueba con una versión reciente de explorer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Raymundo (3 intervenciones) el 16/06/2015 18:55:21
Buenas Netzel me parece interesante la propuesta que hacen tu y Miguel pues bien les comento que tambient engo un sistema de facturacion y quiero agradecerles el aporte que han hecho con esto de las descargas masivas ya que es algo que me han estado pidiendo mis clientes, les comento que tambien estoy timbrando con Finkok y cualquier aporte que pueda hacer con todo gusto, utilizo 2 librerias para la generacion del xml y el timbrado, esto lo hago por el ahorro de tiempo en la programacion y solo me enfoco al diseño, pero me gustaria hacer todo por mi mismo, tanto generar el xml que no es complicado por que ya tengo parte de eso como el sellar que esto si me ha costado trabajo entenderlo, si ustedes tienen algo que me pueda ayudar se los agradesco y voy a seguir de cerca este foro y en lo que pueda ayudar con gusto gracias nuevamente y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Rojas (2 intervenciones) el 30/06/2015 21:50:40
que tal buena tarde alguien me podria dar un ejemplo de como mostrar los xml descargados en un datagridview??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 30/06/2015 22:10:41
Crea una clase que se llama comprobante con los campos que trae, genera una lista, la llenas y en el datasource de tu grid le asignas la lista y ya.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Rojas (2 intervenciones) el 30/06/2015 23:25:37
pero quiero mostrar varios xml a la vz , un ejemplo, en una carpeta tengo 10 xml que descargue con el software de DESCARGA MASIVA XML SAT despues con un boton abro un form que me muestra un data grid y un folderbrowserdialog donde debo seleccionar la ruta donde se encuentran almacenados mis xml, al seleccionar la ruta, doy clic en un boton para q muestre los xml almacenados en esa ruta en un data grid dejo el codigo que estoy usando


1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim ds As New DataSet
    Dim archivo As String
    Dim dir As New DirectoryInfo(TextBox3.Text.Trim)
 
    For Each file As FileInfo In dir.GetFiles()
        archivo = TextBox3.Text.Trim & "\" & file.Name
        Dim leer As XmlTextReader = New XmlTextReader(archivo)
        ds.ReadXml(TextBox3.Text.Trim & "\" & archivo & ".xml")
        Me.DataGridView1.DataSource = ds.Tables(0)
    Next
 
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 01/07/2015 00:16:36
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (open.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
	txtArhivoXMLCfdi.Text = open.SelectedPath;
	if (!string.IsNullOrEmpty(open.SelectedPath))
	{
		foreach (
			string nombreArchivo in
				Directory.GetFiles(open.SelectedPath, @"*.xml", SearchOption.TopDirectoryOnly))
		{
			_listaArchivos.Add(new FileXMLCFDI(idTemp, 0, nombreArchivo));
			idTemp++;
		}
	}
}
gvArchivosXML.DataSource = _listaArchivos;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por carlos (8 intervenciones) el 04/07/2015 17:12:16
a ustedes les manda a veces un mensaje de error:

"Ha ocurrido un error al procesar su ultima accion."

a que se debe o por que pasa ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alvaro Ampudia (12 intervenciones) el 04/07/2015 20:42:19
creo que acaban de cambiar el portal del SAT... yo hice unas modificaciones la semana pasada al codigo de Miguel Salazarp para utilizarlo por consola, y lo puse a funcionar a final de Junio.... y funcionó perfectamente... pero en el portal del SAT ya pusieron una opción para seleccionar todos los CFDI que queremos descargar, y después ir a descargarlos en un ZIP...
Son una mentada de madre los del SAT.. hasta en sus portales son burocráticos, en vez de descargar directo el ZIP, tienes que ir a otra página para descargar el ZIP...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel Salazar
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Miguel Salazar (34 intervenciones) el 08/07/2015 15:46:17
Pues en realidad no facts, es otra opción para desecharlos pero en realidad como está el sistema no requiere ambio a menos que quieras descargar el zip , pues tendrás que hacer el cambio que yo creo que no vale la pena y si sí, pues compartan .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (11 intervenciones) el 17/07/2015 21:48:29
Como podrán a ver analizado el método ""wbSAT_DocumentCompleted"" solo se ejecuta cuando se termina de dar CLICK al botón Descargar.

Alguna idea de como se pudiera Adecuar el programa para poder descargar los XML de 10 RFC diferentes de tal forma que se pueda autentificar las veces necesarias pero que a su vez se ejecute el método wbSAT_DocumentCompleted

Cualquier idea es buena.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por José (2 intervenciones) el 21/07/2015 21:08:09
Hola buen día, he revisado información en la red y encontré una aplicación que descarga más de 500 xml, ¿alguien tendrá el código o una idea de como realizarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Mauricio Sanchez (2 intervenciones) el 29/07/2015 00:34:56
Hola que tal, estuve revisando el software para la descarga de +500 intentando hacerlo por horas
como Halcon Divino, pero creo que el problema persiste en que en el SAT tampoco tiene el filtro de horas, o mas bien no funciona.

Saludos.
Si alguien tiene algo subirlo para poder ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Sergio (2 intervenciones) el 31/08/2015 22:09:00
hola buenos dias descargue tu codigo y solo me aparece cargando las facturas pero estas no cargan tendras alguna idea como soluciono este problema saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por leonardo (5 intervenciones) el 13/03/2016 23:02:01
hola me podrias ayudar si es que ya pasaste por esto, veo que tu desarrollo lo estas realizando en java lo que pasa es que ingreso la paguina del sat y me manda al form de la fiel y mejor modifico la url para ingresar por contraseña yal accesar por htmlunit me mandanda a una paguina de perfil del cual imprimo el html y no es el menu para descargar los xml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public void submittingForm() throws Exception {
    HtmlPage page1 = null;
    try (final WebClient webClient = new WebClient()) {
 
        // Get the first page
        final HtmlPage page = webClient.getPage("https://portalcfdi.facturaelectronica.sat.gob.mx/");
       page1 = webClient.getPage("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
 
       webClient.getOptions().setUseInsecureSSL(true);
 
//	       WebResponse response = page1.getWebResponse();
//	       String content = response.getContentAsString();
//			 System.out.println(" Resultados :::: "+content);
         System.out.println(" Resultados :::: "+page);
        // Get the form that we are dealing with and within that form,
        // find the submit button and the field that we want to change.
        final HtmlForm form = page1.getFormByName("IDPLogin");
 
 
 
 
        form.getInputByName("Ecom_User_ID").setValueAttribute("	user");
        form.getInputByName("Ecom_Password").setValueAttribute("pass");
        //final HtmlTextInput textField = form.getInputByName("userid");
 
        // Change the value of the text field
       // textField.setValueAttribute("root");
        final HtmlSubmitInput button = form.getInputByName("submit");
        // Now submit the form by clicking the button and get back the second page.
        page1 = button.click();
 
        //WebResponse response = page1.getWebResponse();
        //List<NameValuePair> content = response.getResponseHeaders();
        System.out.println(""+page1.asXml());
//	        System.out.println(page2.getBaseURL());
//	        System.out.println(page2.getBody().getIndex());
//	        System.out.println(page2.isHtmlPage());
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Mauricio Sanchez (2 intervenciones) el 27/07/2015 21:36:12
Hola buen día
estuve leyendo su aporte y me parece genial ya que estoy realizando un
proyecto sobre este tema.

podrías pasarme la calve de cifrado para la descarga.

Gracias
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Sergio (2 intervenciones) el 31/08/2015 22:05:44
hola buenos dias descargue tu codigo y solo me aparece cargando las facturas pero estas no cargan tendras alguna idea como soluciono este problema saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por victor (22 intervenciones) el 09/11/2015 21:41:29
resolviste el problema, donde se queda cargando facturas, se queda enciclado esperando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 03/11/2016 06:11:31
miguel salazar, buen dia fijate que estoy tratando de desarrollar la app asp.net de descarga masiva xml y me gustaria realizarla sin webbrowser ya que asp no contiene la herramienta en si, yo tengo un codigo en php que descarga los xml sin problemas si gustas podemos intercambiar codigos pero como te comento yo lo requiero sin el webbrowser, seria con webclient no se si me podrias ayudar, saludos. mi correo es [email protected] o el de [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Jose (1 intervención) el 10/10/2015 01:50:26
Alguien interesado en trabajar para una consultora Internacional desarrollando aplicaciones para facilitar el calculo de impuestos.
Experiencia en desarrollo de aplicaciones relacionadas con CFDI, Factura electrónica. Etc.
Enviar su CV a [email protected] con copia a [email protected]

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 23/11/2015 15:54:05
Estoy trabajando con Javascript y por medio del mismo pude hacer lo que hacen ustedes con VB.NET.
1) Extraje el código web
2) Analizé el código web, en busca de eventos "BTNDescarga onclick="
3) Hecho esto removi el Recupera.AccionCFDi o algo así por "https://portalcfdi.facturaelectronica.sat.gob.mx/"+cadena extraída
4) Paso todas las variables que me extraiga del código fuente a una matriz de datos.
5)En la matriz se almacenan todos los enlaces de descarga.


Cuando copio y pego uno de los enlaces generados en un navegador cualquiera me pide que me identifique con Usuario y CIEC.
Hecho esto, se descarga el XML sin mayor preámbulo.

La cuestión es cuando lo quiero descargar desde código, en vez de generarme un XML normal, me genera lo siguiente:
1
2
3
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation/?wa=wsignin1.0&amp;wtrealm=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx&amp;wctx=rm%3d0%26id%3dpassive%26ru%3d%252fRecuperaCfdi.aspx%253fDatos%253dkQOsJGVwD8sDoZrJpUP%252bLK9Wg536uW1c240WA2zvRSwMK%252begLlALYuuyqVIoiLU%252b%252b2NA1gly5lJ3hnwrS0DFD9YxM3LtOWQmxXOWnZrTPg8tn0kfkpUTJgUi0N0TxiQQlSnnkt2W5P5smEIIhIqJGoY9qlbnBrlgfDwY1yj3tqDQpKHBnF%252f%252fMT0ClKNKj2Iu89e4ZT3s2oYbhK87xMKUQ7sUjekMRTnnEEFcBF79iXNpZvJdY696EjGi2%252be1b6HUDFrdtQWlvx7zeEF4PiU0vcW5sn4Hrt8iDGUvf43UXtFKIyXNcBycnwn0dtmf4fsxvK%252b4HGBuTbLTHIOc3eWjaZrKcQ1wtAX17siauLICXxpWTifGNVUKpRKrmWoYmEeNUgojqDnn4%252fcxYVitWHoZ69LdjQroNmkpmCYXW8pTLsl%252fOG2oSXR8rtRwMmm2mmAyOSo8FQDhABwm%252fvSXZT%252bnA2KBU8JlZ5ZaMs8R6loDzxU%253d&amp;wct=2015-11-23T14%3a39%3a46Z&amp;wreply=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx%2f">here</a>.</h2>
</body></html>

Presiento que debo identificarme con Id y pass en el código. Alguien tiene idea de como hacerlo?
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel Salazar (1 intervención) el 23/11/2015 23:57:56
Pensaria que talvez debes manejar las cookies como lo hicimos en la plicación de escritorio para que almacenes los datos de la sesion , si no cada vez tendras que iniciar sesion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 24/11/2015 03:04:14
Hay una clase donde aparentemente puedes abrir un socket HTTP para descargar archivos, aunque en mi foro me sugieren que tal vez debería de preguntar al dueño de la página web como acceder desde la API.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 24/11/2015 06:39:36
Tienes razón, por ahi va la idea, en mi lenguaje hay un socket HTTP de conexión segura: HTTPSecureSocket

Y debes hacer una requisición a la cabecera o RequestHeader. así:

downloadSocket.SetRequestHeader(CookieName,CookieValue)

Ahora creo que debo encontrar la manera correcta de conseguir el nombre del cookie y el valor de Cookie.

Porque usando estos parámetros, ahora mi archivo descargado dice algo distinto:

1
2
3
4
5
6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 25/11/2015 17:41:58
Listo. Al fin lo logré, ya puedo descargar los XML exitosamente.

En mi clase logré darme cuenta de estas cosas:

La cadena de texto con los valores a pasar como Cookie al Header del servidor del SAT, está compuesta por 4 Cookies y un elemento que no encontré:

Estos son los nombres de las cookies de las que se compone la cadena de texto, obviamente con sus respectivos valores de cookie, no solo los nombres:
FedAuthCONT
FedAuthCONT1
ASP.NET_SessionId
__CSRFCOOKIE


Para poder armar la cadena como a ustedes les sale en su programa, hago lo siguiente:
CookieName = Cookie1.name + "="+ Cookie1.value + ";"+ Cookie2.name + "="+ Cookie2.value + ";"+Cookie3.name + "="+Cookie3.value+";"+Cookie4.name+";"+Cookie4.value


PERO me doy cuenta de una cosa. Su Cookie de ustedes en al principio trae un valor SITESERVER=ID y un value como tipo XML.
que a mi no me sale, no se si salga de alguna parte en especifico.

También no se si haya consecuencias de no usarlo o si salga malformado el XML.


Mientras tanto ya lo probé y ya lo puedo descargar.

Al final hago lo siguiente:

HTTPSECURESOCKET.HEADERREQUEST("COOKIE",COOKIENAME)

En mi caso uso HttpSecureSocket, ustedes usan WebClient en VB.NET



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 01/12/2015 21:01:44
Por supuesto.

Solo lo adecuo y listo, tengo un problema:

ya probé descargando todo el código fuente con GetElementByID HTML y descarga el código fuente entero de la página.
y luego analizar con NTHField que es una especie de REGEX inclusive probé con Regex y obtengo lo mismo.

Cuando hay 500 facturas en un mes, se supone que hay 500 facturas.

Está conformado de 33 tablas de 15 elementos cada una y la tabla 34 tiene 5 elementos, dándonos un total de 500 facturas.

Ahora mi pregunta es porque solo tengo 478?

inclusive intente cachar todas las imágenes con el nombre "BtnDescarga", con el atributo "onclick", del siguiente modo, y todas las junto en un array o matriz, de este modo:

1
2
3
4
5
6
7
var enlacesjuntos;
var images = document.getElementsByName('BtnDescarga');
var srcList = [];
for(var i = 0; i < images.length; i++) {
  srcList.push(images[i].getAttribute('onclick'));
};
window.status = srcList.join()


Es que está raro, según yo, de este modo examino toooooodo el código. No se si tenga que recorrer tabla por tabla.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 01/12/2015 22:36:30
Jejejejejejeje. me respondo a mi mismo. Estoy bien burro.

Obvio descargo 478, cuando no especifico que solo quiero facturas vigentes, cuando selecciono facturas recibidas.

En facturas recibidas no hay ningún enlace de descarga para descargar las canceladas.
por lo tanto la tabla tendrá facturas canceladas y vigentes.

Y cuando elijo que solo me descargue facturas vigentes, entonces si me descarga las 500's
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 16/12/2015 00:16:49
lo que no se es en las facturas emitidas, como se llama el control de donde obtienes el año.

Veo una variable que se llama Var Year = GetYear(); quiero entender que de allí toman el año, pero no sabría como recuperar ese valor.

para crear la carpeta de año conforme al valor del mismo.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Armando de la Vega (1 intervención) el 17/12/2015 18:12:50
@Gerardo lograste hacer funcionar tu código?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 17/12/2015 18:50:50
Estoy en eso, gracias, estoy viendo que el año y mes en las facturas emitidas, se obtienen de distinto control que en las facturas recibidas, por ejemplo:

Por ejemplo, yo así saco el año de emisión, en facturas emitidas, para crear una carpeta con el nombre del año:

+"function GetEmittedYear()" _
+"{ " _
+ " var e = document.getElementById('hfInicial').value;" _
+ " return e" _
+"};"


Para el mes emitido:
+"function GetEmittedMonth()" _
+"{ " _
+ " var e = document.getElementById('ctl00_MainContent_CldFechaInicial2_Calendario_text').value.substring(5,3);" _
+ " return e" _
+"};"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/12/2015 19:56:23
COLEGAS ... Pregunta
Hubo algún cambio en la pagina web de descarga del SAT hoy Diciembre ????

Es que ahora no descargar los XML .


Si entras te darás cuenta en el portal del SAT que ahora te dice que se GENERO UNA SOITUD de DESCARGA la cual podrás RECUPERAR en la opción Recupera Solicitudes de descarga

Alguien sabe como soluciona esto ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 23/12/2015 23:29:27
Acabo de probar, pero mi codigo lo deje con el panel del browser. y si funciona bien .
descargamasiva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso luna (13 intervenciones) el 03/01/2016 23:13:43
Hola, buenas tardes

Alguien ha podido mostrar los cancelados en los comprobantes recibidos, en la matriz que regresa para mostrarlos, ya que hasta el momento en lo personal, solo me regresa los vigentes.

saludos y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Saul Hernandez (1 intervención) el 05/02/2016 20:06:06
Hola oye estoy interesado en el programa me lo podras pasar para estuduio , bueno codigo fuente y programa o solo programa
ya que esta haciendo un programa igual pero en java pero no resulto bueno fallafa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por asencio (5 intervenciones) el 08/02/2016 21:55:30
Hola Colegas

no se si tengan la oportunidad de apoyarme, no he podido generar el listado de documentos, es decir, no he podido realizar la búsqueda actualmente, logro iniciar sesión y acceder a la página de consulta correctamente, pero al momento de querer invocar el botón para la búsqueda, no me esta actualizando el document por tanto no veo ningún link de descarga.

Este es mi fragmento de código:
1
2
3
var docto = wbEmitidos.Document;
docto.GetElementById("ctl00_MainContent_TxtUUID").SetAttribute("value", "un UUID");
docto.GetElementById("ctl00_MainContent_BtnBusqueda").InvokeMember("Click");


según entiendo, esto debería disparar el postback y actualizar el grid en donde se muestran el documento y la descarga, sin embargo no puedo conseguir que se llene, al principio supuse que podría se un problema con los Cookies pero si ya se accede a la página de busqueda entonces no creo que sea el problema.

Alguna sugerencia de por donde pueda estar mi problema :|
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 08/02/2016 23:36:55
Hola Asencio.

Estas aplicando mal las cosas.

ctl00_MainContent_TxtUUID es el nombre del control un "INPUT" común y corriente.
lo que tu estas haciendo con SetAttribute, es aplicarle atributos de estilo CSS.

Quizás te hayas confundido por que los demás controles del formulario vienen ocultos por Hoja de Estilo (CSS)

Pero no es el caso de ese INPUT TXTUUID ni de el botón de búsqueda.


solo asignarle un value al control:
docto.GetElementById("ctl00_MainContent_TxtUUID").Value ="UN UUID";

respecto al InvokeMember click del btnBusqueda, es correcto.


Así podrás efectuar una búsqueda por folio Fiscal o UUID.


Por cierto, has logrado descargar mas de 500 XML por mes. yo me encuentro con un problema para poder procesar el control que representa la animación, llamado: ctl00_MainContent_UpdateProgress1


El cual si cambian sus atributos CSS antes y después de efectuada la consulta.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por asencio (5 intervenciones) el 09/02/2016 02:58:49
Hola Gerardo Garcia, de antemano muchas gracias por responder.


Lamentablemente no entendí por completo tu solución. considerando el hecho de que que el metodo GetElementById devuelve un elemento HtmlElement, este no cuenta con una propiedad Value asignable

Intentando darle vuelta a la solución, opte por asignar los valores mediante el DomDocument, siendo este el ejemplo:

1
2
3
4
5
6
IHTMLDocument2 htmlDoc = docto.DomDocument as IHTMLDocument2;
var folioFiscal = htmlDoc.all.item("ctl00_MainContent_TxtUUID", 0);
folioFiscal.Value = "Un UUID";
 
var busqueda = htmlDoc.all.item("ctl00_MainContent_BtnBusqueda", 0);
busqueda.click();

Sin embargo el resultado es el mismo, sigo sin obtener un cambio en el documento que demuestre que se realizó alguna búsqueda.

Estoy seguro de que la invocación del evento del botón esta funcionando correctamente, derivado de que si cambia el css de los paneles de resultados:

ctl00_MainContent_ValidationSummary1
ctl00_MainContent_PnlNoResultados
ctl00_MainContent_PnlResultados


Si embargo pareciera que lo que no ocurre es la actualización que debería de venir con el PostBack, es decir los datos.

Respecto a lo de descargar mas de 500 documentos, pues primero permiteme descargar 1 ja ja :), si mencionas que el problema es de estilos, podría estar en el el valor que tenga en la propiedad Style

Para el caso de HtmlDocument:
WebBrowser1.Document.GetElementById("ctl00_MainContent_UpdateProgress1").Style

Para el caso de DomDocument:
WebBrowser1.Document.DomDocument.GetElementById("ctl00_MainContent_UpdateProgress1").Style.Display
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 09/02/2016 16:30:21
Bueno, tienes razón.


Es que tu estas usando VB.net, y yo directo Javascript.
Yo veo que tu usas el control txtUUID, ese control es para buscar solo un xml con un folio fiscal en especifico.
Dicho control no tiene atributos de estilo que te impidan usarlo.

En mi caso yo hago esto:

1
2
3
function setDDLUUID() {
document.getElementById('ctl00_MainContent_TxtUUID').value = '94CD386C-66F8-4555-BBCD-5F1A9148FD3E'";
}

después ejecutas el click del botón para hacer la búsqueda



para sacar los enlaces de descarga del mes deberías buscar así:
var Images = document.getElementsByName('BtnDescarga'), su atributo onclick

y luego analizar images y reemplazar return Accioncfdi, por el comienzo de la dirección
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Carlos (1 intervención) el 09/02/2016 19:53:22
Hola Gerardo Garcia! Saludos...crees que puedas compartir tu codigo? Solo la parte donde haces la descarga? Estoy utilzando nightwatch.js & selenium ;tengo problemas al descargar los xml....al momento solo puedo descragar xml como este

1
2
3
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation/?wa=wsignin1.0&amp;wtrealm=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx&amp;wctx=rm%3d0%26id%3dpassive%26ru%3d%252fRecuperaCfdi.aspx%253fDatos%253dm6rOabkdIfSCUD%252b%252bBC1K3Ian0c%252f1j7SsYpFYIczIZ5e88L5mAKtqpTtW5UBoJ3uqCaRBBbgHaXfZ9t40LoKOxvoz8YnsSCRJ4I5It5nhwdbSELsNXD42kvW35iOeFye4l%252fOQiIdBA5b9sOkWU8Yk7qGr0yCUdStcIMkrNhVyRkwjyOIWPcpR190IziglLjOzGMRY%252fmcJRlIWU8kcvgo4bu2pQ3tFiC0dCrsyxWtOkW3apssw4MVh1e6di0Md6EDPe6IVUSX0UDIuYTpfnC89C%252bNLiL0rc4qmTabu1Xnq7DcCEcv%252fcM9%252fy%252bnk2YCP12kTXzEKJHFZI%252fEqnkrPBKQZVMx76wK7G55gH8ybp%252bBHLWsc1%252fbPuxKVbbdHtwDUPvrRHwH30cGMbat4BBXD8jbkylp1rDfmOQh72R5c9LSnQjrw13l%252f6YBFKpnIAAG2VC1t2lGiFZLPb6fTVAJtr8UC2iUUoO%252bfEDJhXGXNuTRYX8w%253d&amp;wct=2016-02-09T18%3a43%3a58Z&amp;wreply=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx%2f">here</a>.</h2>
</body></html>

justo lo que lo posteaste anteriormente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por asencio (5 intervenciones) el 09/02/2016 22:03:28
Hola Gerardo García


Fijate que me vi obligado en la necesidad de pasar el WebControl a un control visible para hacer el proceso paso a paso, el detalles que vi es que estaba utilizando el System.Windows.Forms.WebBrowser, como mi proyecto es WPF el control es System.Windows.Controls.WebBrowser, en este segundo, la ejecución del evento del botón se realiza sin problemas.

De momento ya estoy descargando los documentos, pero sigo con algunos detalles para sincronizar correctamente. posterior a solucionar el problema de la sincronización de los postbacks realizaré las pruebas con descargas de mas de 500 documentos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 01:20:50
Hola Ascencio

En efecto, el txtUUID parece ser que tenga un atributo de invisible, este es el código fuente donde se alude: <input name="ctl00$MainContent$TxtUUID" type="text" maxlength="36" id="ctl00_MainContent_TxtUUID" disabled="disabled" class="aspNetDisabled" style="width:450px;text-align: center">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 01:46:15
Según estuve leyendo en otro foro. Una vez hecha la consulta. se espera a que el control: ctl00_MainContent_PnlResultados sea visible una vez visible, se pueda descargar los XML.

Es que en mi caso está hecho distinto, con uno bloque de código hago la consulta. Espero a que se quite la animación que dice "Espere un momento" y una vez que se quita y se llena el grid, ahora si presióno un botón con el cual tengo un código que captura con GetElement todas las incidencias de BTNDESCARGA y lo clásico, agarro el enlace,le corto el principio del texto, lo concateno con el texto: https://portalcfdi-bla-bla-bla y el resultado de enlaces los almaceno en una matriz de datos.


Pero ahora veo que debería de automatizar mi código y procesar ese control PnlResultados, pero no tengo idea de como hacerlo, para no tener que hacer dos acciones y a su vez resolvería el problema para descargar un día y después otro día y otro día hasta acabar todos los días del mes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 02:20:07
También vi en uno de los proyectos de aquí que analizan la animación que yo quería analizar, pero no la comprendo, se que usan un While para esperar a que se quite la animación "Espere un momento", una vez que se quita, se prosigue con la captura del grid.

este es el código que ponen:

1
2
3
4
5
6
7
8
9
10
11
While True
	flag = True
	Application.DoEvents()
	Dim htmlElement2 As System.Windows.Forms.HtmlElement = Me._wbSat.Document.GetElementById("ctl00_MainContent_UpdateProgress1")
	If (Not (htmlElement2 Is Nothing)) Then
		If (htmlElement2.Style = "display: none;" AndAlso num > 100000) Then
			Exit While
		End If
		num = num + 1
	End If
End While

Alcanzo a entender lo siguiente:
1) se hace un While para que Mientras sea verdadero, pero verdadero que?
2) Si ctl00_MainContent_UpdateProgress1 no tiene nada, entonces pasar al siguiente IF
3) Si el atributo de estilo CSS de ctl00_MainContent_UpdateProgress1 es igual a display: none; y tambien num es igual a 100000
entonces salir de While
4) suman mas 1 por cada vez que sea cierto el while hasta llegar a 100,000

La cuestión es que yo quiero aterrizar esto en Javascript y ya me bloquee

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 03:42:29
Ahora entiendo que hacen un While (true) para hacer un bucle infinito, hasta que el evento UpdateProgress1 cuando siga siendo oculto Display:none y num sea igual a 100000 entonces romper el bucle, bueno salir del bucle y entonces proseguir.

lo que no se es si pueda hacer ese While (true) en javascript, creo que probare en FiddleJS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 04:27:25
Me puse a estudiar ese código y parece que lo he entendido. les paso una muestra para que me digas si estoy un error o no.
Lo he pasado a Javascript, y me parece que debería de funcionar así:

1
2
3
4
5
6
7
8
9
10
11
var num = 0;
while (true) {
var flag = true;
var HtmlElement2 = document.getElementById('ctl00_MainContent_UpdateProgress1');
If (HtmlElement2 !== null) {
            If (HtmlElement2.getAttribute('style') == ‘display: none;’ && num > 100000) {
break;
            }
num++;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Luis (1 intervención) el 11/02/2016 05:12:22
Hola a todos:

He descargado el código que compartido por Edén:
Descarga Masiva XML SAT
Publicado por Edén (21 intervenciones) el 10/05/2015 08:50:40


pero tengo un problema ya que algunas veces recibo un mensaje de error:

Se detectó System.ArgumentNullException
Nombre del parámetro: uriString

Esto ocurre en la linea:
1
flag = (_wbSat.Url != new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx") ? true : !(_wbSat.Url != new Uri(_currentUrl)));

El parámetro que marco en Negrita no siempre se asigna, ¿Alguien que haya solucionado este problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 06:01:55
Me puse a depurar mi código con JsFiddle y funciona el Bucle y probé rompiendo el bucle con otro valor y funciona.
Obvio en Jsfiddle como no existe ctl00_MainContent_UpdateProgress1 pues el bucle correrá infinitamente.

Pero ya montado en la interfaz, como ese control si existe,no debería tener problemas, este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
var num = 0;
while (true) {
  var flag = true;
  var HtmlElement2 = document.getElementById('ctl00_MainContent_UpdateProgress1');
  if (HtmlElement2 !== null) {
    if (HtmlElement2.getAttribute('style') == 'display: none;' && num > 100000) {
      break;
    }
  }
  num++;
  //alert(num);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 11/02/2016 06:26:21
Tengo una duda Gerardo.

¿como haces para que tu codigo javascript interactue con el contenido de la pagina del sat?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 06:40:08
Hola Fernando Hernandez

Uso un lenguaje de programación llamado RealBasic (multiplataforma) y uso un VisorHTML y atreves de allí con un plugin ejecuto código Javascript e intervengo el código fuente del SAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 11/02/2016 06:45:57
oh, muy interesante, gracias por tu pronta respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por asencio (5 intervenciones) el 11/02/2016 13:37:17
Hola colegas, buen día.


Como tal ya pude resolver los detalles que tenia, efectivamente Gerardo Garcia, hay que poner bucles de espera para dar tiempo a los controles para que actualicen su estado posterior al postback que se hace (recordando que la página está en .net por las extensiones .aspx).

en mi caso yo no espero el estado del progres ctl00_MainContent_UpdateProgress1, en su lugar espero el cambio en los controles a los que estoy accediendo en el momento, por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
docto.GetElementById("ctl00_MainContent_RdoFechas").InvokeMember("Click");
while (docto.GetElementById("ctl00_MainContent_RdoFechas").GetAttribute("onclick") != "")
{
     //Espera a que se procese la selección del tipo de busqueda
     Application.DoEvents();
}
 
..
...Asigno las fechas
..
docto.GetElementById("ctl00_MainContent_BtnBusqueda").InvokeMember("Click");
 
while (docto.GetElementById("ctl00_MainContent_PnlNoResultados").Style.Contains("none")
                && docto.GetElementById("ctl00_MainContent_PnlResultados").Style.Contains("none"))
{
       //Espero al panel de resutados o al panel de falta de los mismos (opcionalmente pordrias poner al panel de validación)
        Application.DoEvents();
}

Espero les sea de ayuda, en mi caso la línea de DoEvents() es la que hace la magia, si no se usa se genera un bloqueo (en el caso de .net) en el proceso y esto evita que se actualice el estado de los controles posteriores.

Actualmente ya he podido descargar de mas 200 documentos, tanto por UUID's y por fechas, me falta descargar los recibidos por fecha y las pruebas de mas de 500 documentos, de momento yo no he tenido la necesidad de inyectar js, espero les sea de ayuda.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/02/2016 19:00:40
Estimado Asencio, muchas gracias por tu respuesta. realmente es muy ilustrativa y me encuentro trabajando en ello.

Tu sabes si hay alguna alternativa a Application.DoEvents() en JavaScript?
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por asencio (5 intervenciones) el 12/02/2016 00:04:21
Según entiendo vuelve a generar un load derivado de que cada uno de esos invokes genera postbacks. asi que podrías ir validando el origen de cada load.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por VioletaM (71 intervenciones) el 23/02/2016 23:40:32
Hola amigos, el link de mega esta roto!

¿Alguien tiene el link del proyecto que estan construyendo para bajarlo y seguir aportando?

Alguien que me lo pase, por fis.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 24/02/2016 04:12:18
ya lo puse de nuez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 26/02/2016 00:51:37
Muchas gracias!

Ahora se me ocurre hacer lo siguiente;

Descarga Masiva de XML de manera Simultanea, como el logeo es por navegador, habra alguna forma de indicarle al webbrowser que utilize otro navegador?

Asi si tenemos explorer, firefox, crome, opera etc podemos descargar de forma masiva y simultanea de varios RFcs.

Creen que sea posible?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 26/02/2016 01:10:14
Que tal Gerardo disculpa te moleste, me podras pasar el codigo fuente de java script de como le haces para obtener las facturas emitidas por favor te agradecere demasiado...

Saludos

Que bueno que exista este tipo de comunidades
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 26/02/2016 14:47:41
Buenos días Violeta

Hasta donde tengo entendido, el Web Browser, solo funciona con IE, ya que es de Microsoft.

Saludos GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 26/02/2016 17:55:51
Que tal Gerardo no se si viste mi mensaje....

Ando buscando ayuda sobre la descarga masiva de xml del SAT y vi que tu andabas haciendolo con JavaScript podrias compartir?

Gracias.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Andres Chavez (1 intervención) el 11/04/2016 08:17:34
Jose como fue que lograste descargar los xml que interesante!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo García (88 intervenciones) el 11/03/2016 18:09:22
Buenos Dias


Acabo de ponerme a descargar XML de marzo.
y no me había percatado hasta hoy que unos XML si los descarga y otros no.

Podrían probar a descargar?
No se si haya fallas en el servidor del SAT.

Porque este fin de semana, hubo unas fallas medio raras. Consultabas un RFC, y te daba los XML de un RFC totalmente distinto.
Para el dia lunes dejó de hacer esas cosas raras.


Como les comentaba hay archivos que no descarga y dicen: Object Moved / Object Moved to/ ErrorDescarga.




Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por blind1986 (2 intervenciones) el 11/03/2016 21:19:42
un problema es que también se están repitiendo en la busquedas hay que poner el filtro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 13/03/2016 22:02:31
EL problema es del SAT, todos los soft de descarga existentes estan sin funcionar inclusive el consentido del SAT, CONTPAQi con su XML en linea.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 14/03/2016 05:36:05
Compañeros, después de estos largos días de angustia por temor a que hubieran cambiado algo en la página y hubiera que reprogramar.


Hoy a las 10:34 GMT +6.00 He consultado facturas recibidas del mes de marzo, y las he descargado todas, sin archivos malformados como antes.


Ahora lo que veo es que tendré que modificar mi código para analizar cuando venga malformado el código, y en tal caso eliminar el XML.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por leonardo (5 intervenciones) el 14/03/2016 05:43:48
Hola quien me puede ayudar, quiero descargar cfdi de la pagina del sat estoy realizando un par de pruebas con htmlunit, si acceso por esta url https://portalcfdi.facturaelectronica.sat.gob.mx/ me manda al form de FIEL para que desde ahi puedas accesar, lo que yo quiero es ingresar por contraseña entonces ingreso por esta url https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0 pero al accesar con htmunit,me direcciona a una paguina donde muestra el perfil del usuario y de ahi no pido pasar tal parece que direcciona a una paguina diferente, ademas al imprimir ese html del perfil, en un input del mismo html me imprime un token en xml.

este es parte de mi codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public void submittingForm() throws Exception {
HtmlPage page1 = null;
try (final WebClient webClient = new WebClient()) {
 
// Get the first page
final HtmlPage page = webClient.getPage("https://portalcfdi.facturaelectronica.sat.gob.mx/");
page1 = webClient.getPage("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
 
webClient.getOptions().setUseInsecureSSL(true);
 
//	WebResponse response = page1.getWebResponse();
//	String content = response.getContentAsString();
//	System.out.println(" Resultados :::: "+content);
System.out.println(" Resultados :::: "+page);
// Get the form that we are dealing with and within that form, 
// find the submit button and the field that we want to change.
final HtmlForm form = page1.getFormByName("IDPLogin");
 
 
 
 
form.getInputByName("Ecom_User_ID").setValueAttribute("dato");
form.getInputByName("Ecom_Password").setValueAttribute("dato");
//final HtmlTextInput textField = form.getInputByName("userid");
 
// Change the value of the text field
// textField.setValueAttribute("root");
final HtmlSubmitInput button = form.getInputByName("submit");
// Now submit the form by clicking the button and get back the second page.
page1 = button.click();
 
//WebResponse response = page1.getWebResponse();
//List<NameValuePair> content = response.getResponseHeaders();
System.out.println(""+page1.asXml());
//	System.out.println(page2.getBaseURL());
//	System.out.println(page2.getBody().getIndex());
//	System.out.println(page2.isHtmlPage());
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 14/03/2016 20:55:02
Les comparto este código express que utilize para sobrellevar estas fallas del SAT.

Una vez descagargado valido que tenga el nodo y si no lo tiene lo elimino.

1
2
3
4
5
6
7
8
9
10
11
Public Function getXMValid(ByVal path As String) As Boolean
    Dim res As Boolean = False
    Dim Findstring = IO.File.ReadAllText(path)
    Dim Lookfor As String = "cfdi:"
 
    If Findstring.Contains(Lookfor) Then
        res = True
    End If
 
    getXMValid = res
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 15/03/2016 15:33:33
Les comento que aun sigue presentando fallas el SAT, ya no tanto.


Por ejemplo hasta ayer a las 10:30 de la noche puede descargar varios meses sin problema.
Hasta las 12:00pm ya empezó de nuevo a descargar una parte en blanco y otra normales.


Entonces, opté por saltarme los XML varios para evitar error:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Try
      #pragma BreakOnExceptions false
 
      Dim xDocument As New XmlDocument
 
      xDocument.LoadXml(f.item(i))
 
 
      ProcessNode(xDocument.FirstChild)
      GrabarCFDiRecibido(xDocument)
      //añadir un pragma
 
 
 
    Catch err As XmlException
      Msgbox "Archivo: " + (str(g.name) + Endofline + EndOfLine+ "XML Malformado o Vacio")
 
    End Try
    //quitar el pragma
end if


Ahora tengo en mente, por cada archivo ilegible o en blanco crear un recordset para hacer un reporte de archivos dañados, que me diga Hora de descarga, nombre del archivo, y causa del error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 15/03/2016 17:34:12
Finalmente, después de vario rato, pensé en algo para hacer que Después de presionar el Botón Buscar CFDI no choque al querer establecer un nuevo día para buscar.

Ustedes usan Application.DoEvents para esperar a que los controles se desocupen, es decir esperar a que el letrero emergente de "Espere un momento" desaparezca para proseguir a elegir un nuevo día y presionar el botón Buscar.


En VB.Net existe Application.DoEvents y en el programa que uso RealBasic también existe.
Pero como ya comenté, para hacer lo que ustedes hacen "webscrapping", necesito inyectar código Javascript para intervenir la página y que interactue con mi código de RB.

Pero en Javascript, no existe un "Applications.ªDoEvents" como tal, entonces pensé en "SetTimeOUT" para contar en reversa X milisegundos para ejecutar un código.


Entonces, ejecuto esta función, justo después de presionar el botón de BUSCAR, y cuento 5000ms(5 segundos) para cambiar al siguiente día.

Y funciona.


Ahora el problema sería que hay veces que el servidor del SAT habrá veces que tarde mas en responder a la consulta, y en ese caso no aplicará esta solución.
Entonces tengo que trabajar en obtener la cantidad de Milisegundos que tarda el control en liberarse para pasarle ese valor a SetTimeOut.

No se si esté en lo correcto, respecto a este planteamiento.


Este es el código del que les hablo:

1
2
3
4
5
6
function setDDLday() {
  setTimeout(function(){
  var DaySelector = document.getElementById('ctl00_MainContent_CldFecha_DdlDia').setAttribute('style','width: 45px'); //Quitamos CSS
  document.getElementById('ctl00_MainContent_CldFecha_DdlDia').value = '02' //Volvemos a asignar otro dia
  }, 5000);
}"

Y acto seguido, presiono el botón buscar:

1
2
3
function DoQuerySAT() {
  document.getElementById('ctl00_MainContent_BtnBusqueda').click();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 16/03/2016 00:48:39
Buenas tardes Gerardo.

Creo que el uso del SetTimeOut es necesario, pero no de esa forma, yo mas bien esperaria a que se mostraran los resultados o en su defecto el mensaje de no resultados por medio del SetTimeOut, esto es, cuando den click al Boton Buscar CFDI, deberas activar el SetTimeOut para que a un tiempo futuro verifiques si ya mostro los resultados, de ser asi cambias de dia, de lo contrario vuelves a lanzar el SetTimeOut, para volver a verificar asi indefinidamente hasta obtener los resultados.

Ejemplo

1
2
3
4
5
6
7
8
9
setTimeout(VerificaResultados,100);  //Ejecutar por primera vez en el evento del boton de Buscar CFDI
 
function VerificaResultados()
{
  if($("#ctl00_MainContent_PnlNoResultados").is(":visible")||$("#ctl00_MainContent_PnlResultados").is(":visible"))
    //Cambiar de dia
else
   setTimeout(VerificaResultados,100);
}

seria algo asi. lo puse con jquery, pero si no lo tienes a la mano en la pagina, podrias cambiarlo para accesarlo directo con el DOM.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 19/03/2016 06:29:30
Efectivamente, así es como debe de comportarse, gracias.

Lo entendi asi.
1) Ejecuto un SetTimeOut.
2) Este SetTimeout deberá ejecutar la función "VerificaResultados" a un intervalo de 100ms, es decir debe ejecutar la función seleccionada
pasados los 100ms.
3) Abajo he declarado la función "VerificaResultados", donde hacemos lo siguiente:
3.1) Analizamos si el Panel de Resultados "O" el "Panel de NO Resultados" está visible.
Si la premisa es correcta, entonces mostrar una alerta diciendo "Hay Resultados". Notase que uso un alert para probar la función, una vez probada cambio a ejecutar mi código para capturar los xml de la rejilla.

De lo contrario, es decir en caso de no estar visibles ninguno de los dos paneles, volver a ejecutar con los mismos 100ms el SetTimeOut.
O sea que no se dejará de ejecutar hasta que los paneles sean visibles.

Chequé el código y le moví unos detallados para que funcionara, y ya funciona,salvo por una cosa.

Cuando Hay resultados, o sea cuando el Panel de Resultados está visible no hay ningún problema, pero cuando está visible el panel de NO RESULTADOS, no hace nada

Y efectivamente ya revisé el código fuente de la página y así dice, el letrero que dice "No existen registros que cumplan con los criterios de búsqueda ingresados, intentar nuevamente"
y este letrero se encuentra de una etiqueta H2 con clase "Subtitle" y a su vez este se encuentra dentro de ctl00_MainContent_PnlNoResultados.


Este es el código como lo tengo hasta el momento:

1
2
3
4
5
6
7
8
setTimeout(VerificaResultados,100);
function VerificaResultados() {
   if ($('#ctl00_MainContent_PnlNoResultados').is(':visible')||$('#ctl00_MainContent_PnlResultados').is(':visible')) {
              alert('Hay resultados');
    } else {
          setTimeout(VerificaResultados,100);
    };
};
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 19/03/2016 06:58:11
Hola de nuevo.

Como te mencionaba, incluso ya probé poniendo solito el PNLnoResultados y nada, pero lei que la función "IS" de Jquery tiene ese fallo al evaluar "Visible" para ver si un control está visible. Cuando en su atributo CSS dice: display:inline, igual te devuelve un valor falso como si aun estuviera oculto, entonces estoy tratando de darle la vuelta.

Mientras tanto reformé el código para prepararlo para dos Condiciones, una vez acabando de pasar el Letrero de "Espere un momento"
Condición 1: En caso de que el PNLResultados sea visible, entonces descargar las facturas de la rejilla (Por ahora, decir con un Alert "Si hay resultados")

Condición 2: En caso de que PNLNOResultados sea visible, entonces cambiar de día (Por ahora, decir con un Alert "NO hay resultados").

Este es mi código:

1
2
3
4
5
6
7
8
9
10
setTimeout(VerificaResultados,100);
function VerificaResultados() {" _//Quitamos CSS
    if ($('#ctl00_MainContent_PnlNoResultados').is(':visible')) {
        alert('No hay resultados');
    } else if ($('#ctl00_MainContent_PnlResultados').is(':visible')) {
        alert('Si hay resultados');
    } else {
        setTimeout(VerificaResultados,100);
    };
};



Lo curioso es que si creo lo que lei respecto a esa deficiencia del IS Visible de jQuery, porque lo cambio a ":hidden" y así si me evalua sin problema cuando el control está oculto.

No se si habrá modo de evaluar el display:inline
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 19/03/2016 07:38:20
Listo!!!!!!.


Ya lo resolví, me puse a investigar y si, a veces no todos los controles los puedes consultar con Visible, pero lo resolví, Analizando su CSS cuando sea Distinto a "None", entonces,mostrar la alerta, así:

1
2
3
4
5
6
7
8
9
10
setTimeout(VerificaResultados,100);
function VerificaResultados() {
    if ($('#ctl00_MainContent_PnlNoResultados').css('display') != 'none') {
        alert('No hay resultados');
    } else if ($('#ctl00_MainContent_PnlResultados').is(':visible')) {
        alert('Si hay resultados');
    } else {
        setTimeout(VerificaResultados,100);
    };
};


Entonces queda así el código,ahora si ya me toca a mi armar la secuencia, meter esto en un módulo y hacerlo interactuar con el resto de mi código.

Espero les sirva para cualquiera que se encuentre en el mismo predicamento.

y Muchas gracias Fernando Hernandez por tus acertados comentarios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/03/2016 00:57:48
Colegas, les paso el código que use para procesar los estados de descarga.
Como mencionaba, esperamos a que los controles o paneles carguen, es decir cambien su estado a visible por sus atributos CSS.

Obtengo 3 Resultados:
1) Hay Resultados = con el cual yo puedo invocar mi modulo que descarga todas las facturas existentes
2) Hay mas de 500 registros = con el cual yo invoco el modulo para descargar día por día, recorriendo los 31 días del mes.
3) No hay Resultados = Depende en donde me encuentre, si estoy consultando el mes en general, pues no hago nada, si estoy consultando el día de un mes, entonces lo uso para cambiarme de día.


Este es el código en Javascript (Solo analiza estos tres estados):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
setTimeout(VerificaResultados,100);
function VerificaResultados() {
    if ($('#ctl00_MainContent_PnlNoResultados').css('display') != 'none') {
        document.title = 'No Hay Resultados';
    } else if ($('#ctl00_MainContent_PnlResultados').css('display') != 'none') {
        if ($('#ctl00_MainContent_PnlLimiteRegistros').is(':visible')) {
            document.title = 'Hay mas de 500 registros disponibles para descargar';
        } else {
            document.title = 'Hay Resultados';
        };
    } else {
        setTimeout(VerificaResultados,100);
    };
};

Saludos y Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 21/03/2016 06:42:42
Gerardo me podrias guiar un poco solo estoy con cURL viendo pero al momento de generar el token en wsfederation es lo que me falta me podrias ayudar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/03/2016 07:05:54
Perdón mi ignorancia, pero que intentas lograr con el token?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 21/03/2016 07:09:15
Gracias por contestarme, lo estoy haciendo con cURL y php, ando mas o menos perdido.

Hago un post ha https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=1&option=credential&sid=1

Pero no me deja pasar el login no se si me puedas guiar, hacemos el post y envio lo que es RFC y clave y agarro las cookies pero al momento de dar el otro POST me envia a las credenciales creo que no tomo el token del wsfederation que regresa o que estoy haciendo mal?.

Te agradezco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/03/2016 17:25:20
Mira, una cosa es una cosa y otra es otra cosa.

1) Si no has podido ni entrar al sistema, estas entrando de un modo erróneo. (Identificarte con RFC y Ciec para entrar al sistema).

Para esto tu tienes que entrar así:
1
Dim Acceso as String = "https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=" + txtRFC.text.uppercase + "&Ecom_Password=" + txtCIEC.TEXT

En mi caso ves expresada esta variable del tipo String para mi lenguaje, tu tendrás que adaptarla a PHP que es lo que me dijiste que usas.
1) Como vez es una cadena de texto, Donde como te habrás dado cuenta añado mi RFC y CIEC para poder entrar al sistema.

Así de sencillo es.
Esta variable deberás cargarla como un sitio normal a que cargar, como si dijeras:
1
http://www.google.com


Al cargar este sitio que te menciono, te mostrará una pantalla con credenciales, será esta dirección:
1
https://cfdiau.sat.gob.mx/nidp/app?sid=0
.

Cuando te arroje esta dirección, significa que tus credenciales son correctas.

Ahora que creo a que te refieres con cookies y token.

Yo he visto varios que guardan cookies para entrar al sistema.

En mi caso no fue necesario.


En mi caso simplemente hice uso de un IF al cargar "https://cfdiau.sat.gob.mx/nidp/app?sid=0", en mi caso lo hice el evento terminar carga de mi visor HTML, el cual posee una variable que se llama URL, entonces si URL = "https://cfdiau.sat.gob.mx/nidp/app?sid=0", entonces, ahora carga "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx" --para facturas recibidas
o "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx" -- para facturas emitidas

Según veo hay una función en PHP en la que puedes analizar cuando el documento acabe de cargar:
1
$(document).ready(function()
.

No estoy muy seguro de esto, pero puedes probar.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/03/2016 17:30:53
Leyendo de nuevo tu correo.

Ya capto mejor lo que hiciste:

1) te iniciaste con Usuario y contraseña.
2) Te manda a las credenciales. ¿cierto?

OJO: Si te manda a las credenciales, y a la esquina superior derecha dice tu RFC y cerrar sesión. Es normal, así tiene que ser, eso indica que entraste correctamente al sistema. No esperes a que te mande directamente a la página del SAT, porque eso no sucederá.

Tu tienes que redirigir el navegador a las paginas que te mencioné, depende si quieras cargar facturas recibidas o emitidas



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/03/2016 17:52:04
Por cierto, ahora que recuerdo, hablando de cookies, porque de todos modos son necesarias para descargar cada uno de los enlaces a los XML, para poder pasárselas a la cabecera del cliente de descarga.

Como mencioné hace tiempo uso a parte de mi programa uso Javascript.(para el webscrapping)
así como ustedes usan VB.net y otro elemento que no recuerdo el nombre que incluyen (para el webscrapping) también.


El punto es que muchos de aquí usan winininet.dll para captar las cookies y de allí hacer el armado de la cookie tal, como nos la pide el SAT.

En mi caso vi que en Javascript, puedes usar "document.cookie" para leer las cookies, pero sucede que solo lee las cookies de la web que estas viendo, no es capaz de leer todas las cookies navegadas. Corrijanme si me equivoco.

Por lo tanto al hacer alert('document.cookie') obtengo un mensaje en blanco.

Así que tuve que recurrir a un plugin de un tercero para poder obtener acceso a todas las cookies,(para windows) el problema es que para que funcione, necesito cargarlo con un visor de HTML el cual es mas lento y tarda en dibujar el sitio.


No se si haya manera de obtener las cookies con puro javascript, para prescindir de este plugin y usar mi navegador normal para una navegación fluida.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 21/03/2016 19:42:59
Agradezco tu respuesta y explicacion, dejame hago pruebas y te mantengo al tanto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 21/03/2016 21:46:17
Que tal Gerardo. . Con php no me esta dejando eso de las credenciales podrias decirme como le hiciste con javascript... creo que voy a tener que cambiarlo a javascript. ..

Espero y me puedas continuar ayudando. Te agradezco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 21/03/2016 22:39:06
Que tal Gerardo.

Mira lo que hago ahorita para empezar es esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// Crear un nuevo recurso cURL
$ch = curl_init();
 
// Establecer URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=elrfc&Ecom_Password=laclave");
curl_setopt($ch, CURLOPT_HEADER, 0);
 
// Capturar la URL y pasarla al navegador
curl_exec($ch);
 
// Cerrar el recurso cURL y liberar recursos del sistema
curl_close($ch);
?>

el problema es que me marca las credenciales pero sin el RFC no sabras en que este mal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 22/03/2016 14:48:50
Bueno, para empezar vas bien cuando capturas el url y la cargas, pero no deberías cerrar el recurso curl, así estas matando la cookie según veo, porque no pruebas a abrir otro curl a ver que pasa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso luna (13 intervenciones) el 29/04/2016 20:33:56
Hola, Buenos días

No se si aún has podido loguearte con PHP a la página del sat, yo sigo intentando hacerlo medinte CURL, pero creo que no esta pasando bien los parametros que se necesitan, de esta manera es como me ha funcionado.

1
2
3
4
5
<?php
$username = 'RFC';
$password = 'TuContraseña';
header("Location: https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&  Ecom_User_ID=".$username."&Ecom_Password=".$password);
?>

espero te de un norte de como se le podria hacer, de la misma forma no se si te gustaria compartir información de como se le podria hacer en PHP.

Saludos !!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 29/04/2016 22:36:40
Que tal alonso.

En realidad no me quede parado con eso no consegui ninguna ayuda sobre eso =( todo esta en visual o java nada en php o javascript =( tu tienes algo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso luna (13 intervenciones) el 30/04/2016 00:48:59
Hola JL,
Le sigo buscando, hasta ahorita esto es lo que tengo, pero sigo sin poder hacer que se logue, a lo que he visto no esta mandando los parametros, pienso que ha de ser un detalle, pero hay que seguir buscando, yo posteare en http://stackoverflow.com, para ver si me pueden ayudar con eso.

cuando uso esta linea
1
echo curl_getinfo($ch, CURLINFO_EFFECTIVE_URL)
, me regresa esto :

https://cfdiau.sat.gob.mx/nidp/app/login?

probaste la linea que te mande, con esa linea si se loguea, pero ha de faltar algo, tu ya no le buscaste?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
$username = "RFC";
$password = "PW";
 
$loginUrl = "https://cfdiau.sat.gob.mx/nidp/app/login?";
try
{
    $fields = array(
        'id' => 'SATUPCFDiCon',
        'sid' => '0',
        'option' => 'credential',
        'Ecom_User_ID' => $username,
        'Ecom_Password' => $password
    );
 
    $fields_string = http_build_query($fields);
    $ch = curl_init();// initiate curl
 
    curl_setopt($ch, CURLOPT_URL, $loginUrl);
    curl_setopt($ch, CURLOPT_POST, true);  // tell curl you want to post something
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string); // define what you want to post
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Content-Length: '.strlen($fields_string)));
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0');
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 10);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
 
    //ob_start();
    $output = curl_exec ($ch); // execute
    //echo curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    //var_dump(curl_getinfo($ch));
    if (false === $output)
    {
        throw new Exception(curl_error($ch), curl_errno($ch));
    }
 
    var_dump($output); // show output
    curl_close ($ch); // close curl handle
    /*if ($output)
    {
        //echo curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
        echo '-----';
        $loginUrl = 'https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx';
        $ch = curl_init();// initiate curl
        curl_setopt($ch, CURLOPT_URL, $loginUrl);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
        ob_start();
        $post = curl_exec ($ch);
        //echo $postinfo;
        //echo curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
        var_dump($post); // show output
        $result = ob_get_clean();
        curl_close ($ch);
    }
     *
     */
 
}
catch(Exception $e)
{
    trigger_error(sprintf('Curl failed with error #%d: %s', $e->getCode(), $e->getMessage()), E_USER_ERROR);
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 30/04/2016 00:55:28
Si sigo buscando en realidad y lo mismo me habia quedado en que no me logueaba solo lei que lo que nos hace falta es que si te fijas hace una validacion a una pagina tercera y es tomar eso que te regresa de la pagina tercera pero ahi me perdi la pagina tercera te regresa como un token u otras cookies. Aqui seguimos tu y yo ayudandonos ahi tienes mi correo para que me pases el link de tu publicación.

Gracias.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso luna (13 intervenciones) el 30/04/2016 01:04:49
no veo tu correo, este es el mio mandame correo y ahi te regreso el link que te habia comentado: [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo (72 intervenciones) el 14/11/2018 04:46:56
PERO AUN haciendo curl, no te sale el captcha cierto, según alcanzo a ver
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 28/03/2016 18:59:59
Hola que tal, Una pregunta, ustedes como analizan este mensaje de error: "En estos momentos el servicio de red presenta lentitud, favor de intentar nuevamente"

en el código fuente puedo ver que esto es el producto de una función llamada endRequest

que a su vez usa como parámetro:
1
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);


Es decir,me gustaría poder primero ver que no haya respuesta negativa o este mensaje de alerta y una vez que el código se asegure de que no hay este código de alerta,entonces proceder a hacer su código normal, o sea ver cuantos enlaces hay en cada una de las rejillas y bla ala blah.

Saludos y Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CC (1 intervención) el 06/04/2016 21:12:39
Hola que tal creen que puedan ayudarme....tengo un problema con la descarga de los xml trabajo con javascript y al momento solo he conseguido esto :

1
2
3
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation/?wa=wsignin1.0&amp;wtrealm=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx&amp;wctx=rm%3d0%26id%3dpassive%26ru%3d%252fRecuperaCfdi.aspx%253fDatos%253dOI%252fUWe5lUYFK33MWzMFOV8Af%252fL85F0SYCPJNg6VTBGL62sVmrjKMvOLkpNS356hCcb6CoqrNleLm%252bSDlV2MeOamtyOG1J7Rkkj02%252fDNZHGI7I3EjyaSnYcILxupdo374x77LLxgADDpt2z9NREL3kWDP1TEFJ5uTWvEMykhf4O%252fuf%252bfSTert6RXGu0FtAzcAI5QQo4rZ4cTO%252frs5ihuKt66RcdYal%252fFWRKdD%252bm9i9Y7X1pcMsHySmowGEDH0VLCBNFHtfap4rizCDULnlZ7yFA8pTcz6UNmUoomLsXz9TPGWulLb1g8cLv9vixzdLu1dVbKg3VW6btgxIHzW3aMOUeSWCF2Fy0KSTYsLxbwQo2twvGxNYKu%252ftqriEKnM4253YlFlpx6ntNxKkrdeZFIz%252fe5qHRtDp17gPasJBWXbUJRzUdOr6pjtrBRc5ueF9UORgH861CCByf9Gm0tr2gD%252ftQwlqsrJsLPUjo4BRa16PPY%253d&amp;wct=2016-04-06T19%3a07%3a00Z&amp;wreply=https%3a%2f%2fportalcfdi.facturaelectronica.sat.gob.mx%2f">here</a>.</h2>
</body></html>

por lo que he leído en este foro se debe a la generación de cookies la cual aun no he podido resolver les agradeciera pudiesen ayudarme este es mi codigo

1
2
3
4
5
6
7
var https = require('https');
 
var request = https.get(""+url obtenida+"", function(response){
 
    response.setEncoding('utf8')
    response.on('data', console.log)
});
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 11/04/2016 08:26:03
Yo también me quedé con las ganas de saber si se puede obtener las cookies mediante Javascript.
nunca pude.

Según lei, fue porque en Javascript se tiene la política de solo mostrar las cookies de la pagina actual y no la de una o tres atrás, o de otro dominio.

Se supone que las cookies en Javascript se sacan con document.cookies, y después se les da el tratamiento necesario.


Como comentaba yo uso RealBasic y javascript para desarrollar.

Es decir con Javascript hago todo el proceso de webscrapping y con RealBasic proceso lo que recabó mi script de Javascript.
y para las cookies uso un plugin de terceros en Realbasic, el cual estuvo medio caro. :( :(



Por otra parte, me estoy dando cuenta que ahora algunos archivos XML los está descargando con tres renglones en blanco, lo cual dificulta su lectura, pero cuando les borras esos espacios ya lo lee normalmente y se procesa normalmente.

A alguien mas le está pasando esto?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Ivan (2 intervenciones) el 21/10/2016 08:44:50
Justo lo que yo estoy tratando de hacer.

No es posible hacerlo en javascript porque son cookies seguras, y los navegadores no permiten a javascript leer esas cookies.

Que plug in usaste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Ivan (2 intervenciones) el 21/10/2016 16:53:13
En XOJO realmente, pero es lo mismo. Lo de las cookies seguras es una funcion de seguridad de los navegadores y como xojo usa webkit o el navegador del sistema operativo, tiene esa misma limitacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 18/04/2016 05:44:48
Como esperar a que los controles de minutos y segundos sean visibles, para presionar el botón Buscar CFDi en Emitidos?

Hola Fernando.

Ahora me encuentro metiéndole mano a las facturas emitidas.

Veo que igual al hacer click en el RadioButton de Fechas, rdoFechas, automáticamente hace un PostBack.
Pensé que igual podría intervenir con un SetTimeOut para esperar a que los controles, ya sea el del rfc o el de los minutos y segundos sean visibles, para entonces poder presionar el botón buscar. Pero nada pasa.

Así lo estoy haciendo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GetFirstDate();
function WaitResults() {
    setTimeout(VerificaResultados,100);
    function VerificaResultados() {
       if ($('#ctl00$MainContent$TxtRfcReceptor').is(':visible')) {
           alert('Hola Mundo');
        } else {
              setTimeout(VerificaResultados,100);
        };
    };
};
function GetFirstDate() {
    $('#ctl00_MainContent_RdoFechas').click();
    WaitResults();
}


Obvio puse un alert con el mensaje hola mundo,para saber cuando ya cargue el panel después de presionar el RadioButton.
y después sustituir el alert con:

1
2
$('#ctl00_MainContent_CldFechaInicial2_Calendario_text').val('01/04/2016');
$('#ctl00_MainContent_CldFechaFinal2_Calendario_text').val('02/04/2016');

Para establecer la fecha inicial y fecha final.


O que sugieres, que estoy haciendo Mal?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 18/04/2016 21:48:31
Buenas tardes Gerardo.

La idea que estas implementando es correcta, solo que veo 2 pequeños errores

1) el id del input que intentas verificar es incorrecto if ($('#ctl00$MainContent$TxtRfcReceptor').is(':visible')) en lugar de eso deberia de ser if ($('#ctl00_MainContent_TxtRfcReceptor').is(':visible')), esto explica porque nunca se lanza el alert.

2) el atributo visible tampoco creo que debas verificarlo ya que el input esta visible siempre, en su lugar deberia de verificar el artributo disabled, cuando deje de estar deshabilitado significa que ya esta listo para presionar el boton buscar.
if (!$('#ctl00_MainContent_TxtRfcReceptor').is('[disabled=disabled]'))


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 18/04/2016 21:55:50
Perfecto, gracias lo probaré.

Respecto al Visible de Jquery, tienes mucha razón. Hay veces que no funciona, yo suelo usar .css != display:none

para cuando los atributos de css sean distintos a display:none, me lanze el alert, amenos eso fue lo que hice para procesar el mensaje de espere un momento y esperar a que el panel de resultados o el de no resultados sean visibles.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 19/04/2016 04:35:05
Woooow, es cierto con Is Disabled puede leer si el control esta deshabitando, por ende cuando deje de estar deshabitado está listo para presionar el botón de búsqueda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/04/2016 09:04:46
Acabo de descubrir, porque con los otros Webservices que venían de prueba en mi programa cargaban sin problema.
Ahora veo que sucede como las descargas de los xml.

No se usa un socket normal. Se usa un socket de connexion segura: HTTPSecureSocket

y hago lo siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim mySoapSocket As new HTTPSecureSocket
Dim sm as new SOAPMethod()
sm.useSocket(mySoapSocket)
dim sr as new SOAPResult
 
Dim wsdl As String = mySoapSocket.get("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl", 30)
sm.WSDL = new XMLDocument(wsdl)
 
TextArea1.text = sm.wsdl.ToString
 
///OJO aca:
'sm.Parameter("Consulta")="?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"
sr= sm.Invoke("Consulta")
 
msgbox sr.Result("CodigoEstatus")

1) Primero declaro mi Socket de conexión segura
2) Abro la dirección del webservice con mi socket
3) A mi SoapMethod le asigno la conexión de mi socket
4) Hasta donde entiendo así se le pasa parámetro a consulta. Pero al ejecutar me manda un error de parámetros incorrectos.

Si convierto a comentario esta linea de código, entonces ejecuta "Consulta" sin parámetros

y el Messagebox me dice: "N - 601: La expresión impresa proporcionada no es válida."


Que estaré haciendo mal??


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por GERARDO GARCIA (88 intervenciones) el 19/08/2016 17:02:20
Fernando.
Buenos Dias


Una pregunta.

estaba viendo que para establecer el día inicial para descargar las facturas emitidas, uso esto:
1
2
3
4
$('#ctl00_MainContent_CldFechaInicial2_Calendario_text').attr('style', 'width: 65px');"
$('#ctl00_MainContent_CldFechaInicial2_Calendario_text').val('"+ FechaInicialAnual + "');"
$('#ctl00_MainContent_CldFechaFinal2_Calendario_text').attr('style', 'width: 65px');"
$('#ctl00_MainContent_CldFechaFinal2_Calendario_text').val('"+ FechaFinalAnual+ "');" 



Donde FechaInicialValue y FechaFinalValue tiene este formato 08/01/2016 o sea día/mes/año


Cuando hago una consulta del día 01 de enero de 2016 al 31 de enero de 2016, no hay problema, me arroja resultados.

El problema es el siguiente:

cuando yo hago una búsqueda del día inicial y final 08/01/2016 me dice que no hay resultados.
Pero si yo hago la misma búsqueda, no con código, sino seleccionando la fecha via el calendario de la página del SAT, así si me arroja resultados.


Estoy usando los valores correctos, o estoy omitiendo algo? Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/04/2016 06:09:55
Hola que tal, alguien ha logrado Validar los xml con el webservice pero con java o Javascript?

mi programa RealBasic tiene un módulo SOAP para poder agarra información de webservices, pasándole la dirección del Webservice como un método
un parámetro y un resultado.

Este es un ejemplo para comunicarse a un webservice y obtener el nombre de la compánía cercana en base al parámetro Ciudad = Nueva York.

Es el siguiente:
1
2
3
4
5
Dim sm As New SOAPMethod("http://www.webservicex.net/medicareSupplier.asmx?WSDL")
dim sr as new SOAPResult
sm.Parameter("City")="New York"
sr= sm.Invoke("GetSupplierByCity")
msgbox sr.Result("CompanyName")


Yo lo traté de Adecuar como creo que se invoca el Webservice del SAT sin saber en este webservice cual es el Parámetro, como invocarlo y como sacar la salida, así:

1
2
3
4
5
6
7
8
Dim sm As New SOAPMethod("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl")
dim sr as new SOAPResult
sm.Parameter("ConsultaCFDI.Acuse")="?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"
sr= sm.Invoke("ConsultaCFDI.ConsultaCFDIServiceClient")
msgbox sr.Result("ConsultaCFDI.Acuse.CodigoEstatus")
 
dim s as string
s= sr.Result("ConsultaCFDI.Acuse.CodigoEstatus")


Pero no me da nada, se queda pensando y tengo que parar el código


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/04/2016 06:46:50
También probé así, siento que estoy mas cerca de lograrlo, pero no pasa nada:

1
2
3
4
5
Dim sm As New SOAPMethod("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl")
dim sr as new SOAPResult
sm.Parameter("http://tempuri.org/IConsultaCFDIService/Consulta")="?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"
sr= sm.Invoke("http://tempuri.org/IConsultaCFDIService/Consulta")
msgbox sr.Result("http://tempuri.org/IConsultaCFDIService/ConsultaResponse")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 21/04/2016 15:33:51
Buenos dias Gerardo.

No se la sintaxis especifica del lenguaje que estas usando pero podrias intentar algo asi:

1
2
3
4
5
Dim sm As New SOAPMethod("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?wsdl")
dim sr as new SOAPResult
sm.Parameter("expresionImpresa")="re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"
sr= sm.Invoke("Consulta")
msgbox sr.ConsultaResult.CodigoEstatus

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 21/04/2016 18:29:11
Ya lo logre!!!!!!.

No me sirvió el ?wsdl, lo cambie por:
1
https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?singleWsdl

Y mi código quedó así:

1
2
3
4
5
6
7
8
Dim wsdl As String = mySoapSocket.get("https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?singleWsdl", 30)
  sm.WSDL = new XMLDocument(wsdl)
 
 
  sm.Parameter("expresionImpresa") = "?re=BEN9501023I0&rr=SARM8209281F1&tt=440.000000&id=EC609EC1-5F63-4333-A2B8-2EDC10B68075"
  sr= sm.Invoke("Consulta")
 
  msgbox sr.Result("CodigoEstatus")

Y me arroja el Siguiente Mensaje: "S - Comprobante obtenido satisfactoriamente."


Pero como le hago para ver si es Vigente o Cancelado, ¿Debo usar otro Result envés de
1
CódigoEstatus


Saludos





Me respondo a mi mismo: Cambiando CodigoEstatus a Estado.

Así te dice Vigente o Cancelado.


Según entiendo esta cadena es la que va grabada en el código QR de una factura, cierto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo (2 intervenciones) el 12/05/2016 22:30:49
Buenas tardes a todos

Si alguien desea el codigo en VB favor de indicarlo.

Cuando consumes el WS el servidor te responde con un arreglo.

Saludos GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por bladimir andrade (1 intervención) el 05/07/2016 17:23:25
saludos gerardo

me interesa el codigo en vb.

lo podrias publicar por favor.

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo García (88 intervenciones) el 07/07/2016 18:23:33
Hola Fernando Hernandez

que tal, oye, una pregunta cual es el tiempo en minutos que el SAT tiene para detectar la inactividad y cerrar sesión.

Porque luego me pasa cuando tengo muchos CFDi's tarda y el SAT cree que está inactivo y cierra sesión y entonces se corta la conexion y se interrumpen las descargas.

Claro que intervine el código de la salida, para los siguientes estado, previniendo cuando el servidor de SAT no está dando servicio o no encuentra la factura, en estos casos:
- <html>Object moved to ******</html>
- The Service is unavailable
- Cuando el XML viene en blanco.

Cuando cualquiera de estas tres condiciones se cumple, entonces no grabo el archivo

Como te comentaba para efectos de interactuar con mi lenguaje y operar el visor HTML, sacar variables y valores ocupo Javascript.
entonces a mi se me ocurre hacer un location.reload para forzar la recarga del navegador, pero necesito saber cada cuanto tiempo hay que recargar la página.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Carlos (2 intervenciones) el 28/07/2016 02:49:51
Hola

Excelente trabajo. Alguien podría orientarme como conseguir el código de vb.net?

De antemano, gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Javsan (1 intervención) el 03/12/2016 01:04:09
Asi es mi estimado, esa cadena es la que va grabada en el QR, se compone de RFC emisor, RFC receptor, total, UUID,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por reynaldo (5 intervenciones) el 13/07/2022 19:40:28
pueden proporcionarme el codigo para seguir aportando por favor.... muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 07/04/2016 21:07:44
Señores una felicitación, han hecho un trabajo bárbaro de gran ayuda para mucha gente.
Espero este tipo de comunidades sigan proliferando.

Hare la conversion que he bajado de aquí a C# como librería espero poder hacerlo y compartirlo
con ustedes.

Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Marco Aurelio (1 intervención) el 12/04/2016 17:04:31
Hola a todos. Una pregunta, a alguno de ustedes les pasa que cuando se lanza el clic al RadioButton para filtrar por fechas "ctl00_MainContent_RdoFechas" sale la ventana de "Espere un momento" y no se quita. Lo he dejado mas de 1 hora y no hace nada.

Saludos y gracias por el excelente aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por luis manuel (27 intervenciones) el 25/04/2016 17:56:41
Una pregunta alguien sabrá algún código para extraer el UUID de un conjunto de XML espero me puedan ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo (2 intervenciones) el 12/05/2016 22:26:38
Hola Luis

Dependiende donde quieras leer el archivo, para que te des una idea con asp

1
2
3
4
5
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.Load ("nombre del XML")
 
folioFiscal = objXML.getElementById("UUID").value

Esto mismo lo puedes aplicar a Visual Basic y creo que tambien JavaScript .

Que por cierto desvirtuaron este Hilo ya que se supone que todo lo tratado aqui era de Visual Basic.

Saludos cordiales a todos GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 10
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Abelardo (5 intervenciones) el 30/08/2016 18:35:35
Esto lo hago con C#.. es un metodo para extraer el UUID de la factura XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static List<Entidades.XMLFacturaHeader> GetUUID(XmlDocument xDocument, Entidades.XMLFacturaHeader oDdHeader)
{
	List<Entidades.XMLFacturaHeader> lHeader = new List<Entidades.XMLFacturaHeader>();
	XmlDocument xmlDoc = xDocument;
 
	if (xmlDoc.HasChildNodes)
	{
		XmlNodeList nodelist = xmlDoc.GetElementsByTagName("tfd:TimbreFiscalDigital");
		foreach (XmlNode node in nodelist)
		{
			oDdHeader.UUID = GetElement(node, "UUID");
			lHeader.Add(oDdHeader);
		}
	}
	return lHeader;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 09/05/2016 04:08:34
Quien de aquí esta desarrolando la descarga masiva sobre php?

Tengo unos aportes y requiero identificarlos para comenzar a colaborar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JL (13 intervenciones) el 09/05/2016 04:13:31
Yo estoy tratando de sacarlo en php..

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por FERNANDO HERNANDEZ (9 intervenciones) el 11/05/2016 15:38:12
Yo tambien he estado tratando de hacer una version en php, aunque aun no he logrado muchos avances.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 12/05/2016 06:58:32
Hola que tal!

Tengo una pregunta en mi entorno de programación al hacer el Socket Seguro HTTP para descargar los XMLs.

no recordaba que hay una propiedad de mi socket que dice "ConnectionType" = 3
he investigado y ese 3 es "TLS (Transport Layer Security) version 1. (default)" la cual viene por default.

y funciona bien.


pero también están estos otros protocolos:

SSLv2 0 SSL (Secure Sockets Layer) version 2.
SSLv23 1 SSL version 3, but can roll back to 2 if needed.
SSLv3 2 SSL version 3.
TLSv1 3 TLS (Transport Layer Security) version 1. (default)
TLSv11 4 TLS (Transport Layer Security) version 1.1
TLSv12 5 TLS (Transport Layer Security) version 1.2


Recomiendan usar otro diferente? y habría ventajas de usar otro.

A demás no se si les ha pasado que hay XMLs que descargan en blanco, aun descargándolos directamente del navegador, ósea entrando directamente al SAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Antonio Valdeztn (1 intervención) el 22/09/2016 21:13:49
buen día, alguien tiene el código en C#, que descargue los xmls pudiendo indicar que solo sean los vigentes o solo los cancelados??

Agradezco su atención. Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 05/11/2016 09:04:26
GERARDO BUEN DIA, SERA QUE ME PUEDAS COMPARTIR EL CODIGO DE DESCARGA MASIVA SIN EL CONTROL DEL WENBROWSER YA QUE QUIERO IMPLEMENTARLO EN UN PROYECTO ASP APAR CONPARTIR EN EL FORO, ESPERO ME PUEDAS AYUDAR, ABUSANDO DE TU CONFIANZA PASAME TU EMAIL, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose Luis (1 intervención) el 22/09/2016 22:29:56
Que tal Violeta , alguna respuesta?, me podrias ayudar?

Gracias.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 03/11/2016 06:30:56
HOLA BUEN DIA, YO CUENTO CON EL CODIGO COMPLETO DE DESCARGA MASIVA DE PHP, SOLO QUE REQUIERO DE SU AYUDA YA FACILITARME EL CODIGO EN VB.NET PARA DESCARGAR LOS XML, HE DESCARGADO VARIOS PERO TODOS CUENTAN CON WEBBROWSER Y YO LO REQUIERO CON METODOLOGIA (HTTPWEBREQUEST Y HTTPWEBRESPONSE), YA QUE TENGO LA IDEA DE DESARROLLARLO PARA ASP.NET Y ASP NO CUENTA CON LA HERRAMIENTA WEBBROWSER, PROPORCIONO PARTE DEL CODIGO EN PHP Y ESPERO ME PUEDAN APOYAR CON LO SOLICITADO, SOMOS COLEGAS, ESPERO ME PUEDAN AYUDAR EN PROPORCIONARME EL CODIGO SIN EL CONTROL WEBROWSER, SALUDOS, MI CORREO ES [email protected]


CODIGO:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
function entrarAlaPaginaInicio(){
    $url = $this->urlCfdiau . '/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0';
    $this->sesion->post($url, ['cookies' => true, 'future' => true, 'verify' => FALSE] )->getBody()->getContents();
}
 
function enviarFormularioConCIEC(){
    $url = $this->urlCfdiau . 'nidp/app/login?sid=0&sid=0';
 
    $encabezados = $this->header->obtener(
        $this->hostCfdiau,
        $this->urlCfdiau . '/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0'
    );
 
    $valoresPost = [
        'option'        =>'credential',
        'Ecom_User_ID'  =>$this->rfc,
        'Ecom_Password' =>$this->contrasena,
        'submit'        =>'Enviar'
    ];
 
    $this->sesion->post($url,
        ['body' => $valoresPost, 'headers' => $encabezados, 'cookies' => true, 'future' => true, 'verify' => FALSE]
    );
}
 
function leerFormulario($html){
    $htmlFormulario = new HTMLForm($html, 'form'); ##OK
    $inputValores   = $htmlFormulario->getFormValues();
    return $inputValores;
}
 
function leerFormularioDeRespuesta(){
    $url = $this->urlPortalCfdi;
    $respuesta = $this->sesion->get( $url , ['cookies' => true, 'future' => true, 'verify' => FALSE] );
    $htmlRespuesta = $respuesta->getBody()->getContents();
 
    return $this->leerFormulario($htmlRespuesta);
}
 
function leerFormularioDeAccessControl($valoresPost){
    $url = $this->urlCfdiCont . 'v2/wsfederation';
 
    $respuesta = $this->sesion->post($url,
        ['body'=>$valoresPost, 'cookies' => true, 'future' => true, 'verify' => FALSE]
    );
 
    $htmlRespuesta = $respuesta->getBody()->getContents();
    return $this->leerFormulario($htmlRespuesta);
}
 
function entrarAPantallaInicioSistema($valoresPost){
    $url = $this->urlPortalCfdi;
    $respuesta = $this->sesion->post($url, ['body'=>$valoresPost, 'cookies' => true, 'future' => true, 'verify' => FALSE]);
    $htmlRespuesta = $respuesta->getBody()->getContents();
 
    return $htmlRespuesta;
}
 
function obtenerValoresPostDelTipoDeBusqueda($htmlFuente) {
    $inputValores = $this->leerFormulario( $htmlFuente );
    $inputValores['ctl00$MainContent$TipoBusqueda'] = 'RdoTipoBusquedaEmisor';
    $inputValores['__ASYNCPOST'] = 'true';
    $inputValores['__EVENTTARGET'] = '';
    $inputValores['__EVENTARGUMENT'] = '';
    $inputValores['ctl00$ScriptManager1'] = 'ctl00$MainContent$UpnlBusqueda|ctl00$MainContent$BtnBusqueda';
    return $inputValores;
}
 
function seleccionarTipo($htmlFuente) {
    $url = $this->urlPortalCfdi . 'Consulta.aspx';
    $post = $this->obtenerValoresPostDelTipoDeBusqueda($htmlFuente);
    $encabezados = $this->header->obtener(
        $this->hostCfdiau, $this->urlPortalCfdi
    );
 
    $respuesta = $this->sesion->post($url,
        ['body' => $post, 'headers' => $encabezados, 'cookies' => true, 'future' => true, 'verify' => FALSE]
    );
 
    return $respuesta->getBody()->getContents();
}
 
function logueoDeUsuarioConCIEC() {
    $this->entrarAlaPaginaInicio();
    $this->enviarFormularioConCIEC();
    $valoresPost = $this->leerFormularioDeRespuesta();
    $valoresPostAccessControl = $this->leerFormularioDeAccessControl($valoresPost);
 
    $html = $this->entrarAPantallaInicioSistema($valoresPostAccessControl);
    $this->seleccionarTipo($html);
}
 
function obtenerValoresPostBusquedaFechas($htmlFuente, $inputValores, $filtros) {
    $parser                 = new ParserFormatSAT( $htmlFuente );
    $valoresCambioEstado    = $parser->obtenerValoresFormulario();
 
    $util                   = new Utilerias();
    $temporal               = $util->mergeListas($inputValores, $filtros->obtenerPOST() );
 
    return $util->mergeListas($temporal, $valoresCambioEstado);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 04/11/2016 18:15:41
Tengo el codigo el vb y c# , pero con el webbrowser. sin embargo suena interesante pasarlo a asp.net me late tu idea si gustas podemos hacerlo en conjunto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 04/11/2016 19:57:16
Que tal me interesa ese código para implementarlo en mi aplicacion de timbrado que también lo tengo en php.
como le podríamos hacer?. Tengo también el código en vb.net para la descarga pero si requiere de browser.

También cuento con una librería que hicimos en C# para la generación y timbrado de CFDI, tambien genera el pdf del xml.
echando mano de plantillas de crystal reports.

Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alvaro Ampudia (12 intervenciones) el 04/11/2016 21:08:49
Pero tu vendes este código, y lo que está aquí no está en venta... no seas así....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 04/11/2016 23:16:33
ASI ES ALVARADO EL CODIGO LO TENGO EN VENTA, PERO COMO LES DECIA PUEDO APORTAR PARTE DEL EL POCO A POCO YA QUE EL DESARROLLO SI ME HA COSTADO ESFUERZO Y TIEMPO Y ESO ES VALIOSO PARA TODOS, LO QUE YO QUIERO ES INTERCAMBIAR IDEAS Y CONOCIMIENTO, YO CUENTO CON LAS APP DE DESCARGA MASIVA EN PHP, PYTHON, C#, VB.NET, Y QUIERO DESARROLLARLA EN ASP.NET PERO SIN WEBBROWSER YA QUE LA HE TRATADO DE DESARROLLAR DESDE HACE YA VARIOS DIAS Y NO HE PODIDO ESPERO ME PUEDAN AYUDAR Y COMPARTIR PARTE DE MI CODIGO Y ASI PODER COMO LES DECIA INTERCAMBIAR IDEAS Y CONOCIMIENTO LES DEJO PARTE DEL CODIGO QUE HE ESTADO IMPLEMENTANDO EN C# POR METODO POST

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
lblMensaje.Text = "Inicializando..";
CookieContainer galleta = new CookieContainer();
string postData = "Ecom_User_ID=" + txtUsuario.Text + "Ecom_Password=" + txtPassword.Text;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
 
//OBTENEMOS LA COOKIE
lblMensaje.Text = "Obteniendo la Cookie..";
HttpWebRequest peticionGalleta = (HttpWebRequest)WebRequest.Create("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0");
peticionGalleta.Method = "POST";
peticionGalleta.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
peticionGalleta.ContentType = "text/html;charset=UTF-8";
peticionGalleta.CookieContainer = galleta;
peticionGalleta.Host = "cfdiau.sat.gob.mx";
peticionGalleta.Referer = "https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0";
peticionGalleta.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36";
peticionGalleta.ContentLength = byteArray.Length;
 
StreamWriter sw = new StreamWriter(peticionGalleta.GetRequestStream());
sw.Write(postData, 0, byteArray.Length);
sw.Close();
 
HttpWebResponse respuestaGalleta = (HttpWebResponse)peticionGalleta.GetResponse();
StreamReader lectorGalleta = new StreamReader(respuestaGalleta.GetResponseStream());
string htmlr = lectorGalleta.ReadToEnd();
WebBrowser1.DocumentText = htmlr;

CON ESTE CODIGO SOLO LOGRO INGRESAR AL FORMULARIO DE LOGIN POR CIEC EL DETALLE ES QUE NO SE COMO LLENAR Y ENVIAR EL FORM CON LOS DATOS.

SOLO UTILIZO EL WEBBROWSER COMO REFERENCIA QUE HALLA CARGADO LA PAGINA CORRECTAMENTE PERO NO HACE NINGUNA FUNCION EN CUANTO OBTENER LOS XML O NAVEGAR, SOLO ES VISUALIZACION
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Konner (13 intervenciones) el 05/11/2016 21:36:37
Lo que puedes hacer es crear un web services con tu proyecto de c# y mandar llamar los metodos que necesites para procesar la información y obtener la información de regreso.

mi humilde opinion.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 09/11/2016 07:05:22
AMIGOS LES COMENTO QUE SIGO TRATANDO DE HACER EL METODOS POST PARA DESCARGA MASIVA, PERO ME ATORE EN UNA PARTE DONDE SOLICITO EL REDICRECCIONAMIENTO DE UNA URL PARA QUE ME ENVIO AL FORM DE BUSQUEDA POR TIPO EMITIDOS O RECIBIDOS, AQUI LES PASO EL CODIGO ESPERO ALQUIEN QUE SEA ESPERIMENTADO EN METODO POST HttpWebRequest Y HttpWebResponse ME PUEDA AYUDA, SALUDOS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
'INIT
lblMensaje.Text = "Inicializando.."
Dim tempCookie As New CookieContainer()
Dim postData As String = "option=credential&Ecom_User_ID=" + txtUsuario.Text + "&Ecom_Password=" + txtPassword.Text + "&submit=Enviar"
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
 
'OBTENEMOS LA COOKIE
lblMensaje.Text = "Obteniendo la Cookie.."
Dim peticionGalleta As HttpWebRequest = CType(WebRequest.Create("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0"), HttpWebRequest)
peticionGalleta.Method = "POST"
peticionGalleta.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
'peticionGalleta.ContentType = "text/html;charset=UTF-8";
peticionGalleta.CookieContainer = tempCookie
peticionGalleta.Host = "cfdiau.sat.gob.mx"
peticionGalleta.Referer = "https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0"
peticionGalleta.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0"
'peticionGalleta.ContentLength = byteArray.Length;
 
Dim sw As New StreamWriter(peticionGalleta.GetRequestStream())
sw.Write(postData, 0, byteArray.Length)
sw.Close()
 
Dim respuestaGalleta As HttpWebResponse = CType(peticionGalleta.GetResponse(), HttpWebResponse)
Dim lectorGalleta As New StreamReader(respuestaGalleta.GetResponseStream())
Dim htmlr As String = lectorGalleta.ReadToEnd()
richTextBox1.Text = htmlr
WebBrowser1.DocumentText = richTextBox1.Text
 
 
'YA CON LA COOKIE INICIAMOS SESION
lblMensaje.Text = "Iniciando Sesion.."
Dim peticion As HttpWebRequest = CType(WebRequest.Create("https://cfdiau.sat.gob.mx/nidp/app/login?sid=0&sid=0"), HttpWebRequest)
peticion.Method = "POST"
peticion.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
peticion.Credentials = CredentialCache.DefaultCredentials
peticion.KeepAlive = True
peticion.CookieContainer = tempCookie
peticion.Host = "cfdiau.sat.gob.mx"
peticion.Referer = "https://cfdiau.sat.gob.mx//nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0"
peticion.UserAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
peticion.ContentType = "application/x-www-form-urlencoded"
peticion.ContentLength = byteArray.Length
 
Dim sw2 As New StreamWriter(peticion.GetRequestStream())
sw2.Write(postData, 0, byteArray.Length)
sw2.Close()
 
'OBTENEMOS INGRESO
lblMensaje.Text = "Obteniendo Datos.."
Dim respuesta As HttpWebResponse = CType(peticion.GetResponse(), HttpWebResponse)
Dim lector As New StreamReader(respuesta.GetResponseStream())
Dim html As String = lector.ReadToEnd()
 
richTextBox1.Text = html
WebBrowser1.DocumentText = richTextBox1.Text
 
'OBTENEMOS DATOS PARA REFERENCIAR
lblMensaje.Text = "Iniciando Tipo.."
Dim peticionTIPOD As HttpWebRequest = CType(WebRequest.Create("https://portalcfdi.facturaelectronica.sat.gob.mx/"), HttpWebRequest)
peticionTIPOD.Method = "POST"
peticionTIPOD.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
peticionTIPOD.Credentials = CredentialCache.DefaultCredentials
peticionTIPOD.KeepAlive = True
peticionTIPOD.CookieContainer = tempCookie
peticionTIPOD.Host = "portalcfdi.facturaelectronica.sat.gob.mx"
peticionTIPOD.Referer = "https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation"
peticionTIPOD.UserAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
peticionTIPOD.ContentType = "application/x-www-form-urlencoded"
''peticionTIPOD.ContentLength = byteArray.Length
 
Dim sw3 As New StreamWriter(peticionTIPOD.GetRequestStream())
sw3.Write(postData, 0, byteArray.Length)
sw3.Close()
 
'OBTENEMOS CONTROL DE ACCESO
lblMensaje.Text = "Obteniendo Tipos.."
Dim respuesta3 As HttpWebResponse = CType(peticionTIPOD.GetResponse(), HttpWebResponse)
Dim lector3 As New StreamReader(respuesta3.GetResponseStream())
'OBTIENE RESPUESTA FORM EN STRING
Dim html3 As String = lector3.ReadToEnd()
''ELIMINO LA CEDENA <META HTTP-EQUIV="expires" CONTENT="0"> PARA CONVERTIR RESPUESTA EN XML
Dim CadenaEliminar = "<META HTTP-EQUIV=" & """expires""" & " CONTENT=" & """0""" & ">"
html3 = Replace(html3, CadenaEliminar, "")
''Leemos los valores pasando la respuesta XML a un DataSet
Dim srXmlData As New System.IO.StringReader(html3)
Dim DS As New DataSet
DS.ReadXml(srXmlData)
Rwa = DS.Tables("input").Rows(0).Item("value")
Rwresult = DS.Tables("input").Rows(1).Item("value")
Rwctx = DS.Tables("input").Rows(2).Item("value")
 
richTextBox1.Text = html3
WebBrowser1.DocumentText = richTextBox1.Text
 
 
 
''MUESTRA TIPO DE DESCARGA
Dim postDataA As String = "wa=" & Rwa & "&wresult=" & Rwresult & "&wctx=" & Rwctx
Dim byteArrayA As Byte() = Encoding.UTF8.GetBytes(postDataA)
 
'lblMensaje.Text = "Iniciando Tipo.."
Dim Peticion4 As HttpWebRequest = CType(WebRequest.Create("https://cfdicontribuyentes.accesscontrol.windows.net/v2/wsfederation"), HttpWebRequest)
Peticion4.Method = "POST"
''Peticion4.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
'Peticion4.Credentials = CredentialCache.DefaultCredentials
Peticion4.AllowAutoRedirect = True
''Peticion4.KeepAlive = True
''Peticion4.CookieContainer = tempCookie
''Peticion4.Host = "cfdicontribuyentes.accesscontrol.windows.net"
''Peticion4.Referer = "https://cfdiau.sat.gob.mx/nidp/app/login?sid=0&sid=0"
Peticion4.UserAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0"
''Peticion4.ContentType = "application/x-www-form-urlencoded"
Peticion4.ContentLength = byteArrayA.Length
 
 
'Dim sw4 As New StreamWriter(Peticion4.GetRequestStream())
'sw4.Write(postDataA, 0, byteArrayA.Length)
'sw4.Close()
 
Dim requestStream As Stream = Peticion4.GetRequestStream
Dim postBytes As Byte() = Encoding.ASCII.GetBytes(postDataA)
requestStream.Write(postBytes, 0, postBytes.Length)
requestStream.Close()
 
 
'OBTENEMOS SALDO Y VIGENCIA
lblMensaje.Text = "Obteniendo Tipos.."
Dim respuesta4 As HttpWebResponse = CType(Peticion4.GetResponse(), HttpWebResponse)
Dim lector4 As New StreamReader(respuesta4.GetResponseStream())
Dim html4 As String = lector4.ReadToEnd()
 
richTextBox1.Text = html4
WebBrowser1.DocumentText = richTextBox1.Text

CABE MENCIONAR QUE LOS CONTROLES richTextBox1 Y WebBrowser1 SOLO SON PARA REFERENCIAR QUE TODO MARCHE BIEN SI HA ALGUIEN LE INTERESA AYUDA O COLABORAR SOLICITEME EL CODIGO Y ESPERO PUEDAN CORABORAR, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 18/11/2016 16:58:47
Hola, si gustas pasarme el código para hacer algo este fin y el martes te mando lo que logre. te late?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 05/11/2016 03:00:27
Perdon yo vendo??? a caso te lo ofreci, o he pedido dinero a cambio de codigo??
Te cuidado en como te expresas..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 05/11/2016 04:08:30
CLARO QUE NO USUARIOS DE LWP, COMO LES COMENTABA ANTERIORMENTE ESTE ES UN FORO DONDE PODEMOS APORTAR IDEAS Y CONOCIMIENTOS COMO LO DECIA ANTERIORMENTE, EN NINGUN MOMENTO LES ESTOY DICIENDO QUE ESTOY USANDO ESTE MEDIO PARA VERDER MIS TRABAJOS PARA NADA SOLO ES APORTE DE IDEAS Y CONOCIMIENTO, RESPETO EL ESFUERZO Y TRABAJO DE TODOS USTEDES, PERO COMO A A ESTA COMUNIDAD LE HA COSTADO RECONOCERSE A TODOS IGUAL, ESPERO PUEDACOLABORAR CON TODOS USTEDES DE IGUAL MANERA USTEDES EN CUANTO A CONOCIMIENTOS, SI TIENE ALGUNA DUDA ENCUANTO HA ALGO QUE LES PUEDA AYUDAR Y HA ORIENTAR CON GUSTO ESTOY A LA ORDEN.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 05/11/2016 04:14:58
por este medio de igual manera les hago llegar una pagina que me ha ayudado mucho para generar la platilla cfdi con crystal reports, convierte los xml a pdf con crystal reports, espero les sea de utilidad, saludos. https://www.mediafire.com/?axirzf0n3w0ywhu espero les pueda servir de orientacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 05/11/2016 04:47:55
mi comentario fue para Alvaro Ampudia , Rafael te comentaba que me interesa el codigo par descargar los xml del sat, si estas interesado en hacer algun intercambio. Házmelo saber.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 05/11/2016 05:33:46
MI ESTIMADO ROMAN MARQUEZ PASAME TU CORREO PODRIAMOS APOLLARNOS HE INTERCAMBIAR IDEAS IGUAL AQUI POR ESTE MEDIO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por JAVSAN (1 intervención) el 05/12/2016 20:12:52
hola estoy desarrollando una aplicacion para descarga de xml del sat he estado leyendo este foro y quisiera aportar, alguien me podria mandar el codigo en c#, Saludos y gracias por compartir su conocimiento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Maximo G (4 intervenciones) el 09/12/2016 07:48:14
ola amigos tengo un detalle pequeñito en visual basic .net estoy tratando de devolver un valor cfdi: impuesto en un lisview pero como son repetitivos no se como alguien sabe como o que me oriente le agrade seria :)
cfdi:Retencion impuesto="ISR" importe="524.50" />
<cfdi:Retencion impuesto="IVA" importe="559.64" />

1
2
3
4
5
6
7
8
9
If Not Comprobante("cfdi:Impuestos")("cfdi:Retenciones")("cfdi:Retencion") Is Nothing Then
    : lvItem.SubItems.Add(Comprobante("cfdi:Impuestos")("cfdi:Retenciones")("cfdi:Retencion").Attributes.Item(0).InnerText)
    : lvItem.SubItems.Add(Comprobante("cfdi:Impuestos")("cfdi:Retenciones")("cfdi:Retencion").Attributes.Item(1).InnerText)
 
    : lvItem.SubItems.Add(Comprobante("cfdi:Impuestos")("cfdi:Retenciones")("cfdi:Retencion").Attributes.Item(2).InnerText)
    : lvItem.SubItems.Add(Comprobante("cfdi:Impuestos")("cfdi:Retenciones")("cfdi:Retencion").Attributes.Item(3).InnerText)
 
Else : lvItem.SubItems.Add("")
End If

con este código puedo obtener el primer valor pero impuesto isr importe 524.50 pero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por maximo (4 intervenciones) el 09/12/2016 08:07:57
proyec pero el iva y el importe NO :( alguien que me oriente o don de investigo de ante mano gracias :) (y)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por maximo (4 intervenciones) el 09/12/2016 10:10:14
prototo Estoy intentando comprender el codigo que estan desarrollando pero se queda cargando a la después de unos segundo de entrar que podría estar mal ? Gracias (y)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por maximo (4 intervenciones) el 09/12/2016 10:32:10
o alguien que me proporcione el código en .net se los agradezco saludos cordiales....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por GuillermoGarcia (27 intervenciones) el 06/01/2017 21:33:35
Holas buenas tardes una enorme favor podrias compartir el código de tu proyecto tengo problemas para extraer la información como lo muezsrta tu imagen espero me puedas ayudar gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo Garcia (27 intervenciones) el 06/01/2017 22:43:39
que tal un enorme favor podrias compartir tu proyecto de verdad me seria de mucha ayuda espero puedas de antemano mil gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 14/02/2017 02:12:02
buenas tardes, yo implemente el codigo y me funciono todo correctamente, solo que esta mañana nos dimos cuenta que el SAT puso un captcha en el login con contraseña. alguien tiene el codigo del login usando la fiel?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 02:15:12
LES COMENTO QUE YO SOLUCIONE EL PROBLEMA SIN INGRESAR NINGUN CAPCHA SOLO QUE EL CODIGO DESDE HACE UN BUEN RATO YA NO LO COMPARTO YA QUE LE HE IMPLEMENTADO VARIOS METODOS PARA COMERCIALIZARLOS, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 02:55:46
GRACIAS POR PREGUNTAR A TODOS LOS INTERESADOS EN LA SOLUCION DEL CAPCHA, LES COMENTO QUE ESTUVE TRABAJANDO DESDE EL DIA DE AYER PARA SOLUCIONAR LO MAS PRONTO POSIBLE LA NUEVA MODIFICACION PARA DESCARGAR LOS XML CON RESPECTO AL CAPCHA Y LO SOLUCIONE, SI LES INTERESA LOS PUEDO AYUDAR A SOLUCIONARLO EN SUS PROYECTOS PERO SOLICITO DE SU COMPRENCIO PARA UN DONATIVO RESPECTO A ESTE NUEVO CAMBIO, COMO LES COMENTABA INVERTI TIEMPO Y ESFUERSO PARA SOLUCIONARLO LO MAS PRONTO POSIBLES, SI TIENE MAS DUDAS ME PUEDEN ESCRIBIR A [email protected], SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 14/02/2017 02:58:02
si sigues usando el mismo login con RFC y contraseñe u optaste por la Fiel, si se puede y quieres compartir la parte del codigo de como lo solucionaste de dejo mi correo [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 03:17:02
TE COMENTO ARIANE QUE SIGUE SIENDO CON EL RFC Y CLAVE CIEC NO REQUIERE NINGUN CERTIFICADO PARA INGRESAR, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Voldemortkein (88 intervenciones) el 14/02/2017 04:06:26
Desde el domingo implementaron el Captcha, yo el viernes tuve muchos problemas para acceder, pero todavía podia.

Yo lo que hice fue inyectar texto en las tres cajas de texto (Ecom_User_ID, Ecom_Password y jcaptcha), en mi caso particular no lo logré usando getElementbyName, tuve que usar getElementbyClass, de este modo:

1
2
3
4
5
6
Dim RFCLogin As String= "RFCLogin();" _
+"function RFCLogin() {" _
+"document.getElementsByClassName('cajatexto')[0].value = '"+me.text+"';" _
+"}"
 
HTMLViewer1.ExecuteJavaScript(RFCLogin)

Siendo: 0=Usuario, 1=Contraseña y 2=captcha

y ya de allí lo típico, pues intervenir el botón "Enviar" o Submit

Y en cuanto te lanza la dirección con credenciales, redireccionar la página web a la de enviados o recibidos.
Según sea el caso.

En Mac, me funciona perfecto, puedo generar la Cookie y descargar mis archivos, no se ustedes, pero yo genero la cookie en base a cuando esta dirección se carga en el navegador: https://portalcfdi.facturaelectronica.sat.gob.mx/


El problema para mi es que la cookie me sale distinta en Windows y por lo tanto, no puedo inyectar la cookie al Socket y por lo tanto no puedo descargar nada.


Saludos




Lo que es un hecho es que ya no puedo acceder inyectando el usuario y contraseña en la dirección, como antes: https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID="+txtRFC.text.uppercase+"&Ecom_Password="+txtCIEC.TEXT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Voldemortkein (88 intervenciones) el 14/02/2017 04:24:57
Inclusive ya intenté tontamente meter el captcha en la misma dirección: https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID="RFC"&Ecom_Password="CIEC"&jcaptcha="colorer"

y nada pasa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 04:56:28
MUESTRA DE LA SOLUCION DEL CAPTSHA

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 14/02/2017 05:17:53
No les hagan negocio a los que vienen aqui a vender sus soluciones. El tip es FF y Live HTTP headers. No hay necesidad de meter captchas. Cambio la url. Ahi esta la "solucion que tanto costo" a algunos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 05:27:30
te comento que el codigo no lo tengo a la venta solo es un donativo para ayudarnos el cual si me costo tratar de solucionar nuestros problemas lo mas rapido posible, en esta vida a todos nos cuesta, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por J. Goebbels (88 intervenciones) el 14/02/2017 07:40:33
Perfecto! Adios Captcha!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 14/02/2017 14:26:33
Bien!!! Solo una pregunta ¿Diste con la solucion con o sin "donativo"?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por 2Alejandro2 (13 intervenciones) el 14/02/2017 16:29:43
Escuche que lo hiciste tambien en php?, bajo que metodo ya que no encontre nada para desarrollarlo en php.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por J. Goebbels (88 intervenciones) el 14/02/2017 16:50:08
Siguiendo tu consejo usando FF y HTTP Live Headers para "olfatear" las cabeceras del Login e inyectar la nueva URL de acceso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por alonso (2 intervenciones) el 14/02/2017 17:20:44
Buen dia.

Que es el donativo por la solucion del descargador?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por J. Goebbels (88 intervenciones) el 14/02/2017 17:31:29
Yo opino que aqui está muy polarizada la opinion.

Con todo respeto, coincido y me identifico como mucho en ambos lados de la moneda.

1) En que este es un portal de ayuda mutua, y que publicamos código, O FRACCIONES DE CÓDIGO, para ayudar a la comunidad a resolver un dilema, o dar una idea de como resolverlo.

2) También compendo el punto de vista de Rafael, y pienso que no deberíamos satanizarlo, ya que todos aquí, no programamos por Hobbie, lo hacemos por llevar el pan a nuestras casas, claro que la emoción de ser programador es un privilegio que solo nosotros conocemos con ver la expresión de alegría o de alivio al ver resueltas las necesidades del cliente.

Estoy de acuerdo en que este foro no debe ser un canal de ventas, ya que no está diseñado para eso, sin embargo también comprendo a Rafael, pues quien no ha sufrido codificando noches enteras sin dormir (independientemente que la solución haya sido o no difícil, olvidemosnos por ahora de ello), sabemos lo que se sufre trabajando.


No tiene nada de malo que pida una donación por su trabajo, es decir también se agradece el esfuerzo de los demás, es obvio, pienso que debemos ayudarnos los unos a los otros.

Aunque muchos de aqui coincidirán conmigo que a veces no nos es posible publicar la totalidad del código, ya que tenemos convenios con el cliente, o que el software ya se encuentre registrado. Pero si podremos cooperar con bloques de código que no nos afecten y que le sean de gran utilidad al foro.

Es normal la donación aun en trabajos de Software OpenSource, lo vemos con los proyectos grandes; KDE, Gnome, Mozilla y otros tantos, se pide de un donativo para que el proyecto sobreviva.


En mi particular punto de opinion, les mando un gran abrazo.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 14/02/2017 17:35:24
MUCHAS GRACIAS POR TU OPINION J. Goebbels COINCIDO CON TU FORMA DE PENSAR DE AMBOS LADOS, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 14/02/2017 17:40:00
Listo, pues. El que no haya dado con la url nueva pues que me de un donativo para hacercela llegar. Ya si quieren lo del modulo de descarga igual lo platicamos, mi programa descarga hasta 1200 xmls por minuto con una conexion de 10mb.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alvaro Ampudia (12 intervenciones) el 14/02/2017 19:36:10
osea que ahora todo será con "Donativo forzoso"?? los proyectos grandes que mencionan que reciben donativos no los exigen, por eso son donativos y no ventas. Yo si programo por hobbie, y no vendo ninguna solución. estuve utilizando FF y live http headers pero no encuentro ningun url al que se le manden las credenciales que sea diferente al que ya se está usando, pero ahora es "&Ecom_User_ID=RFC&Ecom_Password=contraseña&jcaptcha=comnted&submit=Enviar" pero aún ahí se necesita enviar el jcaptcha... help???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 14/02/2017 21:41:43
Ya se comento que si mantienes la misma url te va pedir captcha, asi que tienes que cambiarla, no es nueva, ya estaba. Arriba lo dijeron: "el que programa por hobbie es una gran satisfaccion cuando encuentra la solucion". Diciendote que cambies la url es un gran tip. No te lleva mucho tiempo encontrarla si miras bien, a mi me llevo 3 minutos verla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso (13 intervenciones) el 14/02/2017 21:52:26
oye, y de cuanto sería el donativo, yo lo tengo en php, pero ahorita con lo del captcha me quede atorado.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 14/02/2017 23:06:51
Si y no, es decir te puedes loguear desde allí, pero yo sugeriría esta:

https://cfdiau.sat.gob.mx/nidp/app/login?id=mat-ptsc-cont&sid=0&option=credential&sid=0&Ecom_User_ID=RFCACONSULTAR&Ecom_Password=CIEC&submit=Enviar"

Así, en la misma URL pones tus credenciales y presionas el botón de Submit
y encanto te mande la otra pagina, pues ya te redireccionas a la de recibidas o emitidas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
4
Comentar

Descarga Masiva XML SAT

Publicado por moises (9 intervenciones) el 15/02/2017 04:27:25
Hola, me puedes contactar moisescmail-s*@yahoo.com reemplaza el asterisco con una p quedo al pendiente. Me interesa el codigo ya que tengo un modulo que lo utiliza.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de C.P. Daviel Ocampo Aparicio
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por C.P. Daviel Ocampo Aparicio (13 intervenciones) el 17/02/2017 17:30:14
La URL de Gerardo García funciona a la perfección sin necesidad del Captcha, la cuestión es que el SAT puso dicho captcha para las descargas automatizadas de las aplicaciones y que saturan su servidor (pienso), es decir, en su momento se percatará que los programadores ya se las ingeniaron y pondrá (seguramente) este candado a todas las URL's supongo.

Comparto mi código como quedo con la url:
Codigo vb net:

Dim strUri As String = String.Format("https://cfdiau.sat.gob.mx/nidp/app/login?id=mat-ptsc-cont&sid=0&option=credential&sid=0&Ecom_User_ID={0}&Ecom_Password={1}&submit=Enviar", AquiRFC, AquiElPswCIEC)
Dim uri As New Uri(strUri)
Call Message(String.Format(vbNewLine + "Proceso de validación... "))
WebBrw.Navigate(uri)

....luego el codigo para las opciones de descarga

Saludos desde Cuernavaca, Morelos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 17/02/2017 18:03:59
Exactamente, seguramente para eso pusieron ese captcha, para evitar la saturación de sus servidores.

Ya que muchos de nuestros programas autómatas o BOTS, efectuan grandes cantidades de descargas.
Espero no se les ocurra quitar su sitio de autenticación alterno.

Porque como ya se habrán dado cuenta es un portal de autenticación, por eso te pregunta que credencial elegir.
Una es para usuarios internos del sistema, como empleados del SAT, otra para acceso a empresas y otras tantas mas.

Pero si es cierto si llegan a matar esta pagina de acceso y hacer que su sitio captcha sea el único LOGIN, ya nos pasaron a torcer a todos.

El unico anticaptcha efectivo que he visto es un portal que accedes mediante API y procesa las imágenes que le mandas, pero es un servicio de paga porque los captchas que les mandas al sistema los resuelven humanos del otro lado del servidor.
y te los devuelven resueltos via el API del sistema.

y te cobran 0.74 USD algo así como 15.18 MXN por cada 1000 Imagenes o Captchas resueltos.

Hasta ahora no hay algoritmos que resuelvan Captchas, QUE YO SEPA.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 17/02/2017 19:11:19
Buenas tardes Alejandro

Si vieras como me da pena tu caso, soy de los iniciadores de este proyecto, y nunca pedimos un solo peso por lo que lo que aquí posteamos, pero veo que tu ahora a parte de que en su momento te beneficiaste estas queriendo sacar beneficios económicos.

Eres el clásico oportunista.

Espero que tus donativos que pides te hagan millonario.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 17/02/2017 19:14:25
Buenas tardes

Y tu consideras que los que iniciamos este proyecto no le invertimos tiempo. Pero a diferencia tuya nunca pedimos un DONATIVO.

Que caso mas triste el tuyo y el de los demás que piden donativos.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por 2Alejandro2 (13 intervenciones) el 17/02/2017 19:21:43
estoy de acuerdo con Gerardo , muchos se basaron en ejemplos que dieron aqui y ahora que ya estan bien encaminados y tienen solucion ahora si piden donativos...

que lastima
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 17/02/2017 19:58:56
Buenas tardes 2Alejandro2

Gracias por tu comentario, en efecto muchos se beneficiaron de los inicios de este proyecto el cual le invertimos bastante tiempo en desarrollar e investigar si te fijas yo nunca pedi DONATIVOS cuando publique la solución completa de la GALLETA y ahora resulta que los demás a parte de que comparten a medias como es el caso de Rafael a quien por cierto si revisas el hilo en algún momento me pidió información respecto de su implementación que haría con ASP, es a el a quien le hice el ultimo comentario, ahora piden DONATIVOS por su tiempo, pues que les pasa que no han entendido que estos son foros de ayuda sin el animo de lucro y que aquí todos invertimos tiempo en beneficio de todos.

En fin por eso en el exterior a los Mexicanos nos critican por oportunistas y con sobrada razón.

Por otro lado, les comparto una liga que no pide captcha y espero su amable DONATIVO

https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATx509Custom&sid=0&option=credential&sid=0


Saludos cordiales GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 17/02/2017 20:00:21
JAJAJAJAJAJA... Naaaaaaa... ni al caso... lo que puse del "donativo" fue a modo de mofa. Yo cuando "descubri" el foro ya descargaba los xmls de forma automatica. Solo falta que me digan que aqui en el foro alguien me dijo como descargar los 1200 xmls por minuto que hace mi programa. Si fuere el caso de que quisiera una dádiva no les hubiera dicho que cambió la url para hacer las descargas, varios de aquí no sabían ese tip y yo se los dí, claro no "peladito y en la boca" pero ya sabían por donde iba el asunto. Hubo una dama que me mando un msj preguntándome que "de cuánto era el donativo" pero no le contesté porque pensaba poner la url para que la viera pero uno dió mas rápido con esa liga y la puso. Vamos, compañeros, no se pongan dignos si varios de aquí nos beneficiamos, de una manera u otra, de lo que aquí se pone. Algunos venden sus programas, otros son "los chingones" de tal o cual empresa que aplican lo que aquí veen o los que ponen sus videos en youtube promocionando sus programas para sentirse famosos. No pienso volver una cloaca este foro pero sí tenía que exponer mi punto de vista.

La url ya habia sido posteada anteriores mensajes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 24/02/2017 18:17:07
De casualidad me podras pasar ese programa que estas hacaiendo???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Sk (1 intervención) el 28/02/2017 13:07:47
Si es sólo un donativo de $1,500.00 que es lo que cuesta tu solución, no??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emma
Val: 12
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Emma (6 intervenciones) el 29/03/2017 18:43:18
Hola Rafael, gracias por esta publicación, ayuda mucho, solo que quería saber si podías pasarnos el código para el captcha, estoy programando en c#
Te dejo mi correo por si hay algo: [email protected]
Cuando corro mi programa me manda una ventana de advertencia "Error en el script de esta página" <--- es por lo mismo de la actualización de la web del SAT?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Marcel Alfonso Luna Olguin (5 intervenciones) el 17/02/2017 21:03:54
Les comparto el codigo que uso yo en C# para el que le pueda servir:
cualquier duda me avisa, ahi ya tengo lo de las cookies resuelto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
public partial class RecuperarXML : Window
{
    mshtml.HTMLDocument htmldoc;
    bool prim_page = true;
   string rfc_usuario_;
   bool cieq_ = false;
   Uri hostUri;
   HTMLDocument doc;
   bool canceladas = false;
   System.ComponentModel.BackgroundWorker bgw = new System.ComponentModel.BackgroundWorker();
 
    public RecuperarXML(string rfc_usuario)
    {
        InitializeComponent();
        bgw.DoWork += new System.ComponentModel.DoWorkEventHandler(bgw_DoWork);
        bgw.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(bgw_RunWorkerCompleted);
        bgw.WorkerReportsProgress = true;
        //bgw.WorkerSupportsCancellation = true;
        bgw.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(bgw_ProgressChanged);
 
        rfc_usuario_ = rfc_usuario;
        if(cieq())
        {
            webBrowser1.Navigate(new Uri("https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0"));
        }
        else
        {
            webBrowser1.Navigate(new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/"));
        }
 
    }
 
 
    public bool cieq()
    {
        string cadena = *************;//Cadena de conexion Access
 
        using (OleDbConnection cn = new OleDbConnection(cadena))
        {
            OleDbCommand cmd = new OleDbCommand("Select CIEQ from Config where Id = 1", cn);
            cn.Open();
            using (OleDbDataReader rdr = cmd.ExecuteReader())
            {
                while (rdr.Read())
                {
                    cieq_= rdr.GetBoolean(0);
                }
 
            }
        }
        return cieq_;
 
    }
 
    /*[DllImport("wininet.dll", SetLastError = true)]
    public static extern bool InternetGetCookieEx(
        string url,
        string cookieName,
        StringBuilder cookieData,
        ref int size,
        Int32 dwFlags,
        IntPtr lpReserved);

    private const Int32 InternetCookieHttponly = 0x2000;*/
 
    [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
    static extern bool InternetGetCookieEx(string pchURL, string pchCookieName,
    StringBuilder pchCookieData, ref uint pcchCookieData, int dwFlags, IntPtr lpReserved);
    const int INTERNET_COOKIE_HTTPONLY = 0x00002000;
 
 
    string cc = "";
    uint datasize = 1024;
 
 
    void bgw_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
    {
        // Get the BackgroundWorker that raised this event.
        BackgroundWorker worker = sender as BackgroundWorker;
        int ex = 0;
        int fact = 0;
 
 
        string download_fianl = "";
        string directorio_xml = "";
 
        try
        {
 
            var collection = doc.getElementsByName("BtnDescarga");
 
            foreach (IHTMLElement rowElem in collection)
            {
 
                WebClient client = new WebClient();
 
                do
                {
                    StringBuilder cookieData = new StringBuilder((int)datasize);
                    if (InternetGetCookieEx(hostUri.ToString(), null, cookieData, ref datasize,
                    INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) && cookieData.Length > 0)
                    {
                        cc = cookieData.ToString();
                        client.Headers.Add(HttpRequestHeader.Cookie, cc);
                    }
                    else
                    {
                        cc = "";
                    }
 
 
 
 
                } while (cc == "");
 
 
                int iStartPos = rowElem.outerHTML.ToString().IndexOf("onclick=\"return AccionCfdi('") + ("onclick=\"return AccionCfdi('").Length;
                int iEndPos = rowElem.outerHTML.ToString().IndexOf("','Recuperacion'", iStartPos);
                //get our substring
                String s = rowElem.outerHTML.Substring(iStartPos, iEndPos - iStartPos);
 
                Uri uri = new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/" + s);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Marcel Alfonso Luna Olguin (5 intervenciones) el 17/02/2017 21:05:42
parte 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
string contents = client.DownloadString(uri);
 
                XmlDocument xm = new XmlDocument();
                xm.LoadXml(contents);
 
                XmlNodeList cfdi_receptor = xm.GetElementsByTagName("cfdi:Receptor");
                XmlNodeList cfdi_emisor = xm.GetElementsByTagName("cfdi:Emisor");
                XmlNodeList cfdi_timbre_fiscal_digital = xm.GetElementsByTagName("tfd:TimbreFiscalDigital");
                XmlNodeList cfdi_traslado = xm.GetElementsByTagName("cfdi:Traslado");
                XmlNodeList cfdi_comprobante = xm.GetElementsByTagName("cfdi:Comprobante");
 
                if (cfdi_receptor.Count == 0)
                {
                    cfdi_receptor = xm.GetElementsByTagName("Receptor");
                    cfdi_emisor = xm.GetElementsByTagName("Emisor");
                    cfdi_traslado = xm.GetElementsByTagName("Traslado");
                    cfdi_comprobante = xm.GetElementsByTagName("Comprobante");
                }
 
 
                if (xm.GetElementsByTagName("nomina:Nomina").Count < 1)
                {
 
                    if (cfdi_receptor[0].Attributes["rfc"].Value.ToString().ToUpper() == rfc_usuario_.ToUpper())
                    {
                        directorio_xml = "\\ArchivosXMLCompras\\";
                    }
                    else
                        directorio_xml = "\\ArchivosXMLVentas\\";
 
                    if (ex == 0)
                    {
                        download_fianl = uri.ToString();
                    }
 
                    xm.Save(MainWindow.directorio + directorio_xml + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "_FF_" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + ".xml");
                    //client.DownloadFileAsync(uri, MainWindow.directorio + directorio_xml + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "_FF_" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + ".xml");
                    string cadena =************;";//Cadena de conexion Access

                    using (OleDbConnection cn = new OleDbConnection(cadena))
                    {
                        cn.Open();
                        OleDbCommand command = new OleDbCommand();
                        command = cn.CreateCommand();
                        double iva = 0;
                        for (int i = 0; i < cfdi_traslado.Count; i++)
                        {

                            if (cfdi_traslado[i].Attributes["impuesto"].Value.ToString() == "IVA")
                                iva += Convert.ToDouble(cfdi_traslado[i].Attributes["importe"].Value.ToString());

                        }

                        string receptor_nombre = "";
                        try
                        {
                            receptor_nombre = cfdi_receptor[0].Attributes["nombre"].Value.ToString().Replace("\'", "''");
                        }
                        catch
                        {
                            receptor_nombre = "";
                        }
 
                        string folio = "";
                        try
                        {
                            folio = cfdi_comprobante[0].Attributes["folio"].Value.ToString();
                        }
                        catch
                        {
                            folio = "";
                        }
 
                        string emisor = "";
                        try
                        {
                            emisor = cfdi_emisor[0].Attributes["nombre"].Value.ToString().Replace("\'", "''");
                        }
                        catch
                        {
                            emisor = "";
                        }
                        if (directorio_xml == "\\ArchivosXMLCompras\\")
                            command.CommandText = "Insert into XML_Compras (UUID,Fecha,TipoComprobante,Subtotal, IVA, Total,RFCEmisor,RazonEmisor,RFCReceptor,RazonReceptor,Validada,ValidadaSAT,DirPDF,DirXML) values ('" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["fecha"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["tipoDeComprobante"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["subTotal"].Value.ToString() + "','" + iva + "','" + cfdi_comprobante[0].Attributes["total"].Value.ToString() + "','" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "','" + emisor + "','" + cfdi_receptor[0].Attributes["rfc"].Value.ToString() + "','" + receptor_nombre + "',true,true,'" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "_FF_" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + ".xml" + "','');";
                        else
                        {
                            if (!canceladas)
                            {
                                command.CommandText = "Insert into XML_Ventas (UUID,Fecha,TipoComprobante,Subtotal, IVA, Total,RFCEmisor,RazonEmisor,RFCReceptor,RazonReceptor,DirXML,Folio) values ('" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["fecha"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["tipoDeComprobante"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["subTotal"].Value.ToString() + "','" + iva + "','" + cfdi_comprobante[0].Attributes["total"].Value.ToString() + "','" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "','" + emisor + "','" + cfdi_receptor[0].Attributes["rfc"].Value.ToString() + "','" + receptor_nombre + "','" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "_FF_" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + ".xml" + "','" + folio + "');";
 
                            }
                            else
                            {
                                command.CommandText = "Insert into XML_Ventas (UUID,Fecha,TipoComprobante,Subtotal, IVA, Total,RFCEmisor,RazonEmisor,RFCReceptor,RazonReceptor,DirXML,Folio,Estado) values ('" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["fecha"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["tipoDeComprobante"].Value.ToString() + "','" + cfdi_comprobante[0].Attributes["subTotal"].Value.ToString() + "','" + iva + "','" + cfdi_comprobante[0].Attributes["total"].Value.ToString() + "','" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "','" + emisor + "','" + cfdi_receptor[0].Attributes["rfc"].Value.ToString() + "','" + receptor_nombre + "','" + cfdi_emisor[0].Attributes["rfc"].Value.ToString() + "_FF_" + cfdi_timbre_fiscal_digital[0].Attributes["UUID"].Value.ToString() + ".xml" + "','" + folio + "','Cancelada');";
 
                            }
                        }
 
 
                        try
                        {
                            command.ExecuteNonQuery();
                            command = new OleDbCommand("Select @@IDENTITY", cn);
                        }
                        catch (OleDbException exception)
                        {
 
                        }
                        cn.Close();
 
                    }
 
                }
                fact++;
                bgw.ReportProgress(fact);
 
            }
 
 
        }
        catch
        {
            bgw.CancelAsync();
        }
 
    }
 
    // This event handler deals with the results of the
    // background operation.
    private void bgw_RunWorkerCompleted(
        object sender, RunWorkerCompletedEventArgs e)
    {
        btn_descarga.IsEnabled = true;
        Marcar_Canceladas.IsEnabled = true;
        // First, handle the case where an exception was thrown.
        if (e.Error != null)
        {
            MessageBox.Show(e.Error.Message);
        }
        else if (e.Cancelled)
        {
            MessageBox.Show("Ocurrio un error, favor de contactar a soporte.");
        }
        else
        {
            if (MessageBox.Show("Desea continuar?", "Continuar", MessageBoxButton.YesNo).ToString() == "Yes")
            {
            }
            else
            {
 
                this.DialogResult = true;
            }
        }
 
    }
 
    // This event handler updates the progress bar.
    private void bgw_ProgressChanged(object sender,
        ProgressChangedEventArgs e)
    {
        Archivos_Bajados.Content = "Archivos " + e.ProgressPercentage;
    }
 
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("El sistema va a descargar las facturas, esto puede tardar dependiendo de la cantidad de facturas, por favor espere.");
        hostUri = webBrowser1.Source;
        doc = webBrowser1.Document as HTMLDocument;
        bgw.RunWorkerAsync();
        btn_descarga.IsEnabled = false;
        Marcar_Canceladas.IsEnabled = false;
 
    }
 
    private static void DownloadProgressCallback(object sender, DownloadProgressChangedEventArgs e)
    {
        // Displays the operation identifier, and the transfer progress.
        Console.WriteLine("{0}    downloaded {1} of {2} bytes. {3} % complete...",
            (string)e.UserState,
            e.BytesReceived,
            e.TotalBytesToReceive,
            e.ProgressPercentage);
    }
 
    static readonly Guid SID_SWebBrowserApp = new Guid("0002DF05-0000-0000-C000-000000000046");
 
 
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid("6d5140c1-7436-11ce-8034-00aa006009fa")]
    internal interface IServiceProvider
    {
        [return: MarshalAs(UnmanagedType.IUnknown)]
        object QueryService(ref Guid guidService, ref Guid riid);
    }
 
    [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
    static extern bool InternetSetCookie(string lpszUrlName, string lpszCookieName, string lpszCookieData);
 
    void OnWebBrowserNewWindow(string URL, int Flags, string TargetFrameName, ref object PostData, string Headers, ref bool Processed)
    {
        Processed = true;
        InternetSetCookie(URL, null, cc.ToString());
        webBrowser1.Navigate(URL);
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Marcel Alfonso Luna Olguin (5 intervenciones) el 17/02/2017 21:06:16
parte 3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
private void webBrowser1_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
        {
            Uri compare = webBrowser1.Source;
            if(compare == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0"))
            {
                 webBrowser1.Navigate( new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx"));
            }
 
            if (prim_page)
            {
                try
                {
 
                    htmldoc = webBrowser1.Document as mshtml.HTMLDocument;
                    if (cieq_)
                    {
                        string cadena =********";//Cadena de conexion Access
 
                        using (OleDbConnection cn = new OleDbConnection(cadena))
                        {
                            OleDbCommand cmd = new OleDbCommand("Select CIEQUser,CIEQPass from Config where Id = 1", cn);
                            cn.Open();
                            using (OleDbDataReader rdr = cmd.ExecuteReader())
                            {
                                while (rdr.Read())
                                {
                                    htmldoc.getElementById("Ecom_User_ID").innerText = rdr.GetValue(0).ToString();
                                    htmldoc.getElementById("Ecom_Password").innerText = rdr.GetValue(1).ToString();
 
                                }
 
                            }
                        }
                    }
                    else
                    {
                        string cadena = **********";//Cadena de conexion Access
 
                        using (OleDbConnection cn = new OleDbConnection(cadena))
                        {
                            OleDbCommand cmd = new OleDbCommand("Select RFC,Cert,Key_,P_ass from Config where Id = 1", cn);
                            cn.Open();
                            using (OleDbDataReader rdr = cmd.ExecuteReader())
                            {
                                while (rdr.Read())
                                {
                                    htmldoc.getElementById("certificate").innerText = MainWindow.directorio + "\\SATFiles\\" + rdr.GetValue(1).ToString();
                                    htmldoc.getElementById("privateKey").innerText = MainWindow.directorio + "\\SATFiles\\" + rdr.GetValue(2).ToString();
                                    htmldoc.getElementById("privateKeyPassword").innerText = rdr.GetValue(3).ToString();
                                    htmldoc.getElementById("userID").innerText = rdr.GetValue(0).ToString();
                                }
 
                            }
                        }
                    }
                    /*
                    IHTMLElement btn = htmldoc.getElementById("submit");
                    if (btn != null)
                    {
                        btn.click();
                    }
                    */
                    prim_page = false;
                }
                catch
                {
                }
 
 
            }
            else
            {
                Uri hostUri = webBrowser1.Source;
                IServiceProvider serviceProvider = (IServiceProvider)webBrowser1.Document;
                Guid serviceGuid = SID_SWebBrowserApp;
                Guid iid = typeof(SHDocVw.IWebBrowser2).GUID;
                SHDocVw.IWebBrowser2 myWebBrowser2 = (SHDocVw.IWebBrowser2)serviceProvider.QueryService(ref serviceGuid, ref iid);
                SHDocVw.DWebBrowserEvents_Event wbEvents = (SHDocVw.DWebBrowserEvents_Event)myWebBrowser2;
                wbEvents.NewWindow += new SHDocVw.DWebBrowserEvents_NewWindowEventHandler(OnWebBrowserNewWindow);
 
                do
                {
                    StringBuilder cookieData = new StringBuilder((int)datasize);
                    if (InternetGetCookieEx(hostUri.ToString(), null, cookieData, ref datasize,
                    INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) && cookieData.Length > 0)
                    {
                        cc = cookieData.ToString();
                    }
                    else
                    {
                        cc = "";
                    }
                } while (cc == "");
 
            }
        }
 
        private void webBrowser1_Loaded(object sender, RoutedEventArgs e)
        {
 
        }
 
        private void Marcar_Canceladas_Checked(object sender, RoutedEventArgs e)
        {
            canceladas = true;
        }
 
        private void Marcar_Canceladas_Unchecked(object sender, RoutedEventArgs e)
        {
            canceladas = false;
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 18/02/2017 01:37:00
¿Por que mejor no subes el proyecto que tienes en vez de tu codigo? Seria mas rapido n.n
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 18/02/2017 01:47:37
JAJAJAJA... Eso, eso, eso... JAJAJAJA... Digo, favor completo ¿Qué no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 19/02/2017 07:07:29
Que lastima de gente tan EGOISTA que no quiere compartir las soluciones. ni pisca de sus conocimientos.
Estamos para APOYARNOS no para JODERNOS.

Este foro es para ayudarnos no para venir a pedir $$ DONATIVO $$$ para dar soluciones a medias

Y venir acá a cantar pendejadas tales como """ yo le invertí mucho tiempo y dedicación ... no les puedo pasar así como así el proyecto"""

Les voy a dar un conejo LARGENES DE ESTE FORO de verdad no los necesitamos para nada

Yo he posteado Soluciones completas y no ando con medias tintas .

******

Colegas

Aquí les paso el proyecto de Descarga XML del SAT COMPLETO ... SI ASI ES COMPLETO !!!!

Esta basado en el proyecto original de este POST.

Tiene varias mejoras tales como descargar los xml enviados y recibidos en forma continua así como poder descargar mas de 500 xml de un mismo día , etc...
Y tiene la ultima url del Captcha

El proyecto Esta desarrollado en VS2010 en C#

Espero les ayude como guía en sus proyectos

Saludos
Halcón Divino.
Monterrey, N.L.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
5
Comentar
sin imagen de perfil

Descarga para Masiva XML SAT

Publicado por carlos g (9 intervenciones) el 19/02/2017 16:10:42
gracias.! Eso si es apoyar.!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 19/02/2017 20:36:51
No es a primera vez que a este o con con este usuario, todos sín excepción y hemos tomaron ideas y otros hasta hemos compartido él códigos completo y les ha servido a mi a muchos como para ser algún con e si no so, para es esté foro si viene no aquí tomen lo que que les pero no vengan a vender , porque así hay personas que piden ayuda y hasta te mandan su codigo y le regresas la solución y cuando les pides compartan algo para mejorar el tuyo sale no con sus peladeses esque a mi me costo mucho y está facil la idea , Perón no les costo pedir ayuda no?. Si quieren aportar háganlo y ya, no espéren algo a cambio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 20/02/2017 16:28:27
Gracias por tu aporte, voy a revisarlo... de casualidad no sabes como los puedo convertir a PDF?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por gerardo (34 intervenciones) el 20/02/2017 16:49:03
Buenos días Jonathan

De momento no tengo mi equipo de desarrollo, pero le puedes echar un ojo a este link:

http://joseluisgarciab.blogspot.mx/2013/10/reportviewer-y-rdlc-ejemplo-facturacion.html

Yo me base en lo que explica este colega (que por cierto es paisano de Halcón Divino, pa que no se diga que los regios son tacaños JAJAJAJAJA) y asi es como imprimo los PDF.

De cualquier manera, en el transcurso de la semana ya que este en actividades, envió el código con las clases para que incluyas el CBB.

Saludos GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 21/02/2017 16:49:55
Muchas gracias, voy a intentarlo desde cero con la ayuda del link que me proporcionas ya que el ejemplo para descargar ya no se encuentra disponible.

Saludos y nuevamente, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 20/02/2017 16:40:22
Hola que tal Halcón Divino

Que bueno que también estas del lado de los que iniciamos este proyecto y por respeto a las damas, yo no diría MEDIAS TINTAS yo diría MA....das. parece que algunos confundieron las palabras iniciales de Alan:

cita
"Hola, el propósito de este foro es realizar un sistema de descarga masiva del SAT. Espero entre los que deseen cooperar llegar a un sistema funcional."

cuando decía cooperar no se refería a pedir DONATIVOS, se refería a que entre todos hiciéramos este proyecto lo mas grande y ambicioso posible.

Esperemos que este barco retome nuevamente su curso después de esta tempestad y que las olas hayan arrastrado toda la suciedad.

saludos cordiales y un excelente inicio de semana para todos.

PD: Gracias por tu aporte lo revisare y voy a traducirlo a VB.

Sinceramente GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 20/02/2017 22:52:18
Gracias Gerardo ([email protected]),

Efectivamente el propósito de este foro fue para ayudarnos entre todos y aportar con mi granito de arena al mundo de información que existe en Internet del cual nos ayudamos los que nos dedicamos a esto.

Estoy muy agradecido con todos los que compartieron con nosotros sus conocimientos, ya que gracias a ustedes se logró cumplir el objetivo de muchos de nosotros que participamos en el foro y de otros usuarios que llegarán aquí más adelante y podrán hacer su propio desarrollo.

Hoy se cumplen dos años y un mes desde que inicie este foro y veo que siguen compartiendo y haciendo mejoras importantes.

Cuando inicié el foro ya había en el mercado programas que descargaban los XML del SAT y fue precisamente ese el motivo por lo cual quise aportar lo que yo sabía hasta el momento con todos ustedes para obtener las bases y hacer lo que hemos hecho para no tener que pagar por esto.

Sobre el comentario del donativo ya nos aclararon que fue a modo de broma, de hecho vi por hay un post donde un usuario le pedía sus datos a otro para mandarle un presente a modo de agradecimiento, espero y si le hayan mandado algo.

Después de unos meses que inicio el foro vi que se metían usuarios a promocionar sus programas para venderlos, en ese momento vi que se había perdido la esencia de este foro pero ahora después del tiempo veo que existen aun personas que están aquí y mantienen el sentido de este foro como Halcón Divino y muchos otros que compartieron con nosotros lo que sabían y aun mejor que ayudan a otros a lograr su desarrollo.

Saludos Cordiales y Gracias a Todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Luis Alberto Silva (1 intervención) el 20/02/2017 23:00:26
Muchas Gracias Halcón !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por María Guadalupe Solís Sedano (1 intervención) el 20/02/2017 23:03:47
Excelente trabajo!!! Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por guillermo Garcia (27 intervenciones) el 22/02/2017 21:22:18
Mil gracias en verdad excelente aportación excelente programa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo Garcia (27 intervenciones) el 24/02/2017 22:57:11
una pregunta mira al descargar los XML únicamente me descarga un aprox 500 a 600 comprobantes ya trate de ver si hay algún candado o limitante sabes por que hace eso,la verdad tu aplicación es excelente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 25/02/2017 03:23:07
guillermo, si tienes dudas me puedes contactar al correo ralosoft@hotmail, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 02/03/2017 20:56:37
Pues ya volvió a quedar en silencio el foro. Comenzará el bullicio cuan cierren el link alternativo y solo quede el del captcha. Veremos si para esa época se acabaron los "aprendices".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo Garcia (27 intervenciones) el 03/03/2017 00:31:43
Buenas tardes tengo una duda en el Proyecto que compartio Halcón Divino cuando descargo XML únicamente me descarga de 500 a 600 no me descarga mas XML, analizando el código no veo alguna limitante de descargas me podrían ayudar, quiero entender el porque hace eso de antemano muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 02:23:43
La limitante te lo pone el SAT. Puedes empezar a descargar por dia o por hora. El detalle es que es muuuuuuyyyyyyy lento. Yo lo que hago es hacer una lista con todos los xmls y luego los envío a descargar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 03/03/2017 07:29:25
LES INFORMO QUE EL LINK QUE SE OPTO POR EVADIR EL CAPCHA YA NO ESTA FUNCIONANDO SOLO CON EL RFC Y LA CLAVE YA SOLICITA DE IGUAL MANERA UN CAPCHA, ENCUANTO SOLUCIONE EL DETALLE LES ESTARE INFORMANDO CON UN VIDEO PUBLICADO AQUI COMO QUEDARIA, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 07:41:45
Es cierto, lo volvieron a hacer!!!!!!!
Ahora que ya podia descargar años enteros, todo se ha jodido.
Que mal plan



Compañeros, les informo que en la pagina de credenciales: https://cfdiau.sat.gob.mx/nidp/app?sid=1
donde se ven las credenciales, la pagina que usábamos ya tiene Captcha, pero la credencial Numero 3, si funciona, solo te pide usuario y contraseña, sin Captcha, ahora solo falta meterle el HTTPLiveHeaders y Firefox para cazar el enlace, solo espero que no haya algún chivato de hacienda que repare este bug (para ellos)



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 08:52:24
Ya taparon el Bug, ya no funciona la credencial 3, definitivamente los desolladores del SAT deben leer este foro.
Deberíamos organizarnos en secreto para evitar el Captcha, unir fuerzas, finalmente todos estamos en el mismo barco.
Tanto programadores que programan por hobbit como los que lo hacen como medio para sobrevivir.


En fin, corri FF y HTTPLiveheaders y esto arroja:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
https://cfdiau.sat.gob.mx/nidp/app/login?sid=1&sid=1
 
POST /nidp/app/login?sid=1&sid=1 HTTP/1.1
Host: cfdiau.sat.gob.mx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-MX,es-ES;q=0.9,es;q=0.7,es-AR;q=0.6,es-CL;q=0.4,en-US;q=0.3,en;q=0.1
Accept-Encoding: gzip, deflate, br
Referer: https://cfdiau.sat.gob.mx/nidp/app/login?sid=1&sid=1
Cookie: JSESSIONID=A31EF79C2664CD02DD61F83BE02CEE99; bbbbbbbbbbbbbbb=IJELFPKHPOIIJDIEPOAMGBFKDKKCJKGGDGIPEHOOPMADDFMLPLGMOBGFKJDAJCENBNOGDLCONALADIMMMBAFGODGGCKMJKPKMJFFHCJAIHFPEEHJJALINEBCEOMPOHII; UrnNovellNidpClusterMemberId=~03~02fbf~1B~17~14ps~7B~08; _ga=GA1.3.1152346921.1463099715; __utma=195706798.1152346921.1463099715.1467299155.1467299155.1; F5-PRO-CFDIAU-443=rd3o00000000000000000000ffff0a3834c7o443; bbbbbbbbbbbbbbb=IKPMCEPCNOJJEKIBKKKOEPNNHOPCMFDDNPEPAFFPCKJDIONJKHJBAIHDLOMABPNCCNNOECNCNILACFPGMBDELICADPCPOIMCAKKBKOFDIBDEHHHKCPOPHFPFNLKPBLGB; _gat=1
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 66
option=credential&Ecom_User_ID=MYRFC&Ecom_Password=mypassword
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
via-ESP: null,NIDPLOGGING.600105004 session33-A31EF79C2664CD02DD61F83BE02CEE99, null,NIDPLOGGING.600105004 session33-A31EF79C2664CD02DD61F83BE02CEE99,NIDPLOGGING.600105002 session220-A31EF79C2664CD02DD61F83BE02CEE99
Pragma: No-cache
Cache-Control: no-cache
Content-Type: text/html;charset=UTF-8
Content-Length: 2751
Date: Fri, 03 Mar 2017 07:51:51 GMT
----------------------------------------------------------




Y el Login anterior que recién habíamos descubierto (etiquetado como SAT FIEL CFDI EMP) que recientemente le implementaron también el captcha, ya no está disponible, dice:
1
2
3
4
5
6
7
8
9
HTTP Status 404 - /nidp/jsp/totp-login.jsp
 
type Status report
 
message /nidp/jsp/totp-login.jsp
 
description The requested resource is not available.
 
Apache Tomcat




Listo Muchachotes, He aqui la Cura: https://we.tl/FmXutWbIqQ


Como podrán notar es un ZIP Cifrado con contraseña, el que desee la contraseña contácteme por correo y con gusto se las proporciono
sin costo alguno. Como mencionaba, este es un problema que nos aqueja a todos y al menos en esta parte del proyecto me parece que debemos ser solidarios.

Pensaba en publicarlo directamente, pero los Chicos de soporte del SAT pudieran estar leyendo esto ahora mismo.
Se me esta ocurriendo para hacer este foro ultraprivado que podríamos usar algo como TOR o algo por el estilo.

Y si es que existe manera de romper las contraseñas de los ZIP, que lo dudo mucho, usar artillería pesada como encoriación por clave privada RSA


Saludos
Espero sus comentarios
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 09:19:50
Ya también tengo el Canal de Chat que nos puede servir de comunicación anónima.
Si están interesados comuníquense conmigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo G (88 intervenciones) el 03/03/2017 09:37:39
Aqui les adjunto el nuevo Link:
https://we.tl/45C6U79Vn0

Este incluye:
Dos enlaces, uno manda al login y con el otro te autenticas con Usuario y contraseña directo
y la URL de regreso cuando la autenticación es exitosa.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 14:53:49
Solo 1 disponible. Ya le bajaron a la sesion ahora es de solo 5 minutos. Chale.

Pues ni modos, lo mas seguro es que cuando vean donde nos estamos metiendo van a cerrar ese orificio, así que a usar la del captcha, lo bueno que es solo una vez que se meterá, no ha cada ratito. Ahi cuando esos weyes descubran ese agujerito lo van a tapar pero ese si va estar complicado hacerlo. En vez de andar poniendo captcha los desarrolladores se pusieran a mejorar su pinche plataforma no que es un pinhce pedo entrar, me refiero a toda la página del SAT, no solo a descargas. ¿O será que de alguna forma tienen que justificar lo que le roban al erario?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 15:14:54
Ya checando con mas calma no es solo 1, son 2 las que quedan vivas. No paguen por "la solución", ahi mismo tienen la respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 03/03/2017 16:12:28
Yo estoy interesado, como te contacto???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 03/03/2017 16:14:55
Gerardo, pasame la contraseña para checar tu ZIP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 16:24:01
Muchachos.


Solicitenme la contraseña por correo, deje visible mi correo.
Recuerden que este medio no es seguro.

Porfavor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 16:31:48
Pero eso tiene solución.
No se si en el lenguaje que manejas tienes la opción de inyectarle Javascript a tu webbrowser.

Si es así solo usa este Javascript:
1
location.reload(true);
Y si tu lenguaje tiene Timers, que debería tener, ejecuta esto a cada 15000ms

Así puedes tener abierto el webbrowser, hasta que acabe de descargar tus enlaces.
Saludos


Por cierto, espero que me pidan la contraseña del ZIP del URL mágico:
y les paso el nuevo link ya que ayer lo cambiaron por ultima vez:
https://we.tl/MYHZyMuvyp




Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso (2 intervenciones) el 03/03/2017 16:51:34
Cual es el password?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo garcia (88 intervenciones) el 03/03/2017 16:52:58
Por correo muchachos, pídemelo y con gusto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 03/03/2017 17:00:14
Acabo de mandarte correo Gerardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 17:07:06
Si, es lo más lógico, pero si yo trabajara en el SAT lo que haria sería evitar la recarga de la página. Pero pues sabemos que los del SAT son una bola de incompetentes no tienen idea de como hacerlo JAJAJAJAJAJA!!!

PD Qué bonito se vee el foro comentando. Hasta paresco profeta, nomas puse que no habian comentarios porque todo estaba jalando bonito y ¡reata! bloquean la url JAJAJAJAJAJA...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por err0r (13 intervenciones) el 03/03/2017 17:27:23
Cual es el link del chat?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 17:33:11
Así es, hasta ahora son unos incompetentes los del SAT, ojalá lo sigan siendo por un buen rato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 17:34:10
El enlace mencionado:
https://we.tl/MYHZyMuvyp

La contraseña pídemela por correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 17:57:12
Qué bueno que este foro tenga usuarios nuevos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 19:08:32
¡Que no panda el cúnico! Revivio la url que habia sido bloqueda. Agredecemos a los desarrolladores del SAT que no nos la hayan quitado, que nada mas nos hayan metido un calambre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 03/03/2017 19:12:24
Alejandro, solo fue por un rato ya quedo bloqueada de nuevo, quiza la dejaran pero seguro andan haciendo pruebas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 19:16:55
No puede ser que jueguen así con mis sentimientos!!! Pero si lo acabo de checar, te lo juro!!! Bueno, la parida de chayotes ya nos la pusieron.

Gracias, jonathan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 19:17:16
Hice bien en no confiarme

Yo sigo utilizando mi URL que estoy publicando en el enlace que les he puesto y sigo descargando sin problemas



No entiendo porque insisten en usar la vieja URL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 03/03/2017 19:18:17
Les comento que yo acabo de probar mis dos soluciones (ambas usando el link que posteó Gerardo García el 14 de febrero.... y ambas (según yo) siguen funcionando y me descargaron xml's sin modificación alguna, lo que no he visto es lo del límite de tiempo de sesión, pero normalmente a mi me tarda menos de un minuto recuperar mis xml's del día.. así que creo que no tengo problema... hasta ahorita!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 19:21:23
Seque si tiene un Contador de tiempo, a los tantos milisegundos de inactividad o lo que el sistema detecta como inactividad.
Por eso es indispensable que en nuestros códigos hagamos uso de Timers para que por medio de Javascript emulemos el Forzar la carga a cada intervalo de tiempo, para hacerle creer al servidor del SAT que del otro lado del ordenador hay un Humano operando la página y no un BOT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 03/03/2017 19:21:46
Pues sí, sigue funcionando la "vieja", chance la están afinando para que se nos haga más fácil la descarga. Si descargas pocos no hay problema pero imagínate descargar unos 22,000 xmls de un trancazo. Ahí si torció el rabo la marrana. Claro, si haces la consulta dia por dia o por hora no hay problema porque estas renovando tu sesión a cada momento, pero es mas tardado.

El comentario es para aampudia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 03/03/2017 19:59:47
Es correcto .
Sigue funcionando la url hasta este momento
Yo estoy ahorita descargando xml sin problemas

Espermas que dure un buen tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 03/03/2017 20:17:45
Mi programa completo está en un servidor Linux, por lo que uso una solución con javascript, y lo que hace es que inyecta jQuery para facilitar la navegación por el DOM, tal vez podría utilizar jQuery para simular clicks en algunos botones o de plano hacer un reload a la página... en VB.net no estoy seguro si se podría inyectar jQuery, o hacer algo similar directamente con VB.net
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 03/03/2017 21:20:19
Buenas tardes a todos

Quiero comentarles y preguntar lo siguiente, porque la gran mayoría en sus aplicaciones, hacen la chamba de autentificarse desde la aplicación??

Yo en lo personal desde un principio mi desarrollo abre la pagina del SAT desde el webBrowser y pide que el usuario ponga sus credenciales (mediante la CIEC o mediante su FIEL), esto me permitió por un lado, evitar o padecer lo que actualmente esta sufriendo, y por otro lado, a mis clientes les dio la confianza de que ellos tienen su contraseña y no la graban por ningún lado, evitando con esto que algún software mal intencionada pueda robar esta información.

En fin cada cabeza es un mundo y cada quien tiene su forma de hacer las cosas.

Saludos cordiales GERC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 21:25:10
Ese es otro modo ciertamente.
Y generar las cookies en base a las cabeceras recibidas

Por desgracia en mi desarrollo y en mi lenguaje puedo hacer algo así en Mac y funciona pero uso un procedimiento distinto en Windows y tengo que usar dos webbrowsers uno para extraer la cookie en windows y otro en Mac.

Por eso es que opto como el resto a Logearme directo, envés de identificarme desde la web del SAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/03/2017 23:54:28
Ahora veo por que les gusta usar la URL antigua.

Cambiando la URL cambia el Orden en que está ensamblada la Cookie, al menos en Windows así me pasa y tengo que rearmar la cookie
pero en Mac la Cookie permanece como siempre


Y si la Cookie esta mal armada no hará el enlace con el Socket y si no se establece la conexión, Ergo, No hay descarga
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Santyago (33 intervenciones) el 05/03/2017 18:00:06
Buenos días a todos;

Relacionado con los últimos movimientos hechos por el SAT en su portal de descarga masiva:
1.-Capcha
//La solcion temporal fue extraer el captcha del webbrowser y pedirsela al usuario en un textbox
para despues injectarle ese valor en input del captcha y continuar el proceso normal.

2.-Movimiento de su sistema a la plataforma mover a méxico
//Esto se soluciono cambiando solo 1 link en el webscraping, los demas links siguen normales
https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0

Sn embargo me surge una pregunta:

Alguien de este foro tiene alguna idea de como obtener el captcha por código?

He realizado pruebas con Tesseract-OCR sin éxito por el momento, y actualmente hay un par de empresas
que si ofrecen este salto, como esta que es una de ellas http://kraitt.net/home/productos/rex.html, la cual eh probado su funcionaiento y efectivamente obtiene el capcha automático.

Alguien tiene una idea de como lograr este funcionamiento?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 05/03/2017 21:19:22
Si, también es opción eso que mencionas de pedirle al usuario que escriba el catptcha.

Y respecto a las empresas que resuelven Captchas ya lo había mencionado, son compañías que le ofrecen al cliente un webservice que puede ser consultado via API, el cual tu le envías el Link del Captcha es decir algo como http://blablblabla/captcha.jpg y al recibirlo la compañía, tienen ellos una especie como de Call Center, donde hay muchos empleado resolviendo miles y miles de captchas al día y una ves resuelto te lo regresan por medio del webservice.

Hasta el momento es imposible resolver usando un Captcha con una computadora o "Bot" usando OCR.
Quizás en un futuro muy muuuuuy lejano eso sea posible, pero no con la computación clásica, sino con computación cuántica
haciendo uso de Qubits, donde las maquinas no solo serán posibles de resolver grandes paradigmas que actualmente la computación tradicional no puede, o aun mas lejos que las mismas maquinas sean capaces de tomar decisiones propias como los humanos.

Ejemplo de ello son algunos aviones Cazas que ya incorporan computación cuántica, y son capaces de tomar decisiones por si mismos, sin necesidad de un ser humano.

Un captcha es una maquina de Turing inversa, que evalúa si el Juez es humano, cuando en una Maquina de Turing clásica se determina si el Juez es una maquina.


Para muestra basta un botón, la compañía D-Wave es pionera en la computación cuántica, la cual ya tiene como clientes a Google, NASA y el pentágono:
https://www.dwavesys.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 06/03/2017 01:12:17
HOLA COLEGAS

Yo no me he metido mucho con la programación del WebBrowaer ni tampoco con las Cookis
Lo que he desarrollado para las descargas de los xml ha sido viendo sus ejemplos y en su caso mejorándolos.
Pero ni idea tenia de como hacerlo

MUCHAS GRACIAS POR SU APOYO.

Lamentablemente no tengo casi experiencia con a navegación de paginas web por medio de programación

La solcion fue extraer el captcha del webbrowser y pedirsela al usuario en un textbox
para despues injectarle ese valor en input del captcha y continuar el proceso normal.


PUDIERAN DE FAVOR COMPARTIR EL CODIGO DEL PARRAFO ANTERIOR


SE LOS AGRADECERIA MUCHO.


SALUDOS
HALOCN DIVINO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 06/03/2017 01:14:54
El mismo enlace que publicas lo menciona

"CAPTCHA ha resultado sumamente útil. La única forma de romperlo de forma masiva en la actualidad es contratar empresas de mano de obra barata que usan a personas. Empresas con personal en Bangladesh que rompen siete CAPTCHAs por minuto a 50 céntimos la hora."

y si habla de Vicarious, habrá que probarlo a ver que tal, también hablan de una tecnología de Google llamada ReCaptcha.
capaz de reconocer texto, aprende en base a los resultados.

Como mencionaba en el texto anterior, las maquinas que son capaces de aprender, de programarse a si mismas son las Computadoras Cuánticas


Google es una de las empresas que es cliente de DWave, fabricante de computadoras cuánticas, y estos son unos de los enlaces que ofrecen reconocimiento de Captchas por medio de mano de obra barata humana:

1
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjqtPG9zMDSAhVG6CYKHWMVAGIQFggbMAA&url=https%3A%2F%2Fanti-captcha.com%2F&usg=AFQjCNH2DZOsNTK30Yh74R6jQUtf8tH-sg&sig2=ZJRKm_bO7ZXoG1R-y5dU2g
1
http://search.cpan.org/~skull/anticaptcha/lib/Anticaptcha.pm


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Santiago Lolo (33 intervenciones) el 06/03/2017 01:58:46
Pues me has dado una idea;

Como sabemos la pagina del SAT es la más visitada de méxico.

Entonces por que no hacer una herramienta gratuita de descarga de XML pero con la siguiente modificación, pedirle los capchas
a los usuarios es decir que escriban el capcha , forzarlos a escribir captchas en cada consulta. (Así todos ganamos)

Entonces internamente mandamos esa imagen de capcha convertda a binary con su respectivo texto a un servidor, de esta forma
tendremos un servidor que "aprende captchas" y al tener un numero muy alto de captchas almacenados ya podremos dar el efecto
de "Adivinar" el capcha con un webservices.

Bueno yo sigo buscando soluciones y alternativas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (2 intervenciones) el 06/03/2017 03:49:20
Muchas gracias
Pues nada más deja entenderle.... y Con gusto les comparto la solucion .

Como les decía no domino estas clases webbrowse

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Cashmere
Val: 12
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Cashmere (6 intervenciones) el 29/03/2017 18:48:10
Muchas gracias en serio estos son los colegas que valen la pena.
Éxito Halcón Divino
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Will (1 intervención) el 16/04/2017 10:25:53
Estoy totalmente de acuerdo con el trabajo en equipo sin lucro. Este tipo de foros no solo permite el aprendizaje atraves de ideas colectivas o particulares sino que crea una cultura de trabajo en equipo que en cualquier empresa y proyecto se requiere para tener exitos. Agradezco mucho a los participantes que tuvieron las ideas, a quienes las enriquecieron y sobretodo GRACIAS a aquellos que dedicaron tiempo de calidad sin afan de lucro para hacer que esas ideas crecieran y se lograran. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 06/03/2017 17:55:31
Tengo el mismo problema, el mensaje:

Captura-de-pantalla-35

En c# obtengo de la siguiente manera el captcha, debe de funcionar también en VB

Captura-de-pantalla-36

La referencia para poder obtener el captcha es la siguiente:
C:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 06/03/2017 19:56:12
Es que realmente no se por qué tanto lío con lo del captcha. Aver, cuando ya no sirve el enlace que no pide captcha o cuando tambien le pongan captcha al que usamos ahorita, solamente se le pedirá al usuario 1 SOLA VEZ QUE LO RESUELVA y ya nada mas. Por eso les digo que no nos preocupemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 06/03/2017 20:37:15
MArco Antonio estás usando la url errónea, usa esta: https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=1&option=credential&sid=1&option=credential&Ecom_User_ID=XXXXXXXXXX&Ecom_Password=YYYYYYYYYY. Ya está comentada en post anteriores, lean antes de postear algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Santiago Lolo (33 intervenciones) el 06/03/2017 21:03:55
SOLUCIÓN AL CAPTCHA CON 3 URLS

La solución sin usar captcha es esta:

1.-Cargar en el webrrowser la url https://portalcfdi.facturaelectronica.sat.gob.mx/

2.-En el metodo DocumentCompleted del webbrowser verificar que se halla cargado esta pagina
https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0

y
3.-por ultimo y para no pasar por el captcha solo invocar al navigate con la siguiente url con RFC y Clave
"https://cfdiau.sat.gob.mx/nidp/app/login?id=mat-ptsc-cont&sid=0&option=credential&sid=0&Ecom_User_ID=" & Me.txtRfc.Text & "&Ecom_Password=" & Me.txtClave.Text & "&submit=Enviar"

Y listo ya no pasan por el captcha

*Sin embargo esta solución es temporal, por tal motivo propongo que ahora le dediquemos un poco de tiempo a una solución de captcha por código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 06/03/2017 21:21:38
Santiago, puntos 1 y 2 no son necesarios, solo con el 3.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 06/03/2017 21:37:37
No es que este usando la url erronea, el detalle es que también se debe de tener la opción de entrar con el captcha, personalmente creo que se debe de buscar que funcionen ambas formas de entrar, previniendo un bloqueo de las url alternativas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 17:40:55
Esta empresa
http://kraitt.net/home/productos/rex.html

Ofrece la captcha por código tanto en la descarga masiva como en la generación de acuse.

Analizando el programa con un sniffer de urls no cuenta con ningún servicio de captcha webservices solo tiene ligas
de su mismo dominio.

Lo que hace es lo siguiente :
Descarga el último captcha generado del SAT y lo almacena en captcha_temporal.jpeg
Una vez que lo baja hace el proceso de OCR y lo pega en un text

Las librerias que utliza son las comunes :
itextsharp.dll
itextsharp.xmlworker.dll
Microsoft.Office.Interop.Excel.dll
ThoughtWorks.QRCode.dll

De esas librerias la más apegada a usar OCR es itextsharp.dll
Algunas pruebas que he realizado es convertir la imagen del captcha a PDF y posterior con itext convertirla a texto, sin éxito alguno

Alguien tiene alguna idea ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 17:57:53
itextsharp.dll - GENERACION DE PDF
itextsharp.xmlworker.dll - MANEJO DEL XML
Microsoft.Office.Interop.Excel.dll - INTERFAZ CON EXCEL
ThoughtWorks.QRCode.dll - CREACION DEL QRCODE

Insisto, esa empresa NO ESTA HACIENDO USO DE LA URL QUE PIDE CAPTCHA por eso no se lo pide, hace uso de esta: https://cfdiau.sat.gob.mx/nidp/app/login?id=mat-ptsc-cont&sid=0&option=credential&sid=0&Ecom_User_ID=XXXXXXXXXX&Ecom_Password=YYYYYYYY, en el comentario anterior me puse una erronea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 07/03/2017 18:43:35
Buenas, disculpen si me meto, encontre este foro googleando hace algun tiempo ya que yo tambien estaba creando mi proyecto para descarga masiva, y me parecio muy interesante la forma en que colaboran en este foro para el desarrollo... no hallaba como empezar, pero leyendo los comentarios, me fue muy util la informacion, y gracias a eso pude crear mi aplicación, es bueno saber que hay personas dispuestas a colaborar de forma libre :D, y no solo para sacar provecho de los demas, eso realmente es de agradecerse.

La verdad es que no me habia atrevido a comentar, una por que despues de la base de la descarga de los xml me dedique a construir la app y a mejorarla y no me habia pasado por aqui desde entonces hasta el momento que surgio lo del captcha, y bueno, vi que lo resolvieron facilmente, francamente no vi en que pudiera ayudar,(bueno tal vez un poco de pena tambien por no poder aportar mucho o nada), pero viendo los comentarios parece haber un interes por resolver el problema de forma segura sin estar a la expectativca de que aquellos limiten totalmente el inicio de sesion a traves de captcha solamente, y me parecio buena idea encontrar una solucion de forma definitiva, sobre todo la idea del OCR no solo por el captcha si no por que es algo que podria tener otras aplicaciones, no se si realmente se pueda lograr pero si en algo puedo ayudar pues yo me apunto.

Sobre lo que decia Lolo, me parece que itextsharp no es un motor OCR, asi que para esa aplicacion, lo mas probable es que usen algun otro metodo(si es que lo usan, ya que como bien dicen esta el enlace todavia), para esto hay creo algunos motores libres, tal vez se podria usar Tesseract o GOCR, si es que realmente hay un interesa en esto, :D saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 07/03/2017 20:12:28
Bueno regresando a lo del captcha, se me hace un proceso algo pesado el hecho de guardar cada imagen con su respectivo valor puesto que podrian llegar a ser demasiados archivos, bueno al menos yo estuve haciendo una pruebas descargando las imagenes, para probar si habia coincidencias y bueno no se si hice mal algo pero llegue a obtener hasta 70 mil imagenes antes de encontrar coincidencias, despues de eso el proceso era demasiado lento ya que habia que guardar la imagen y luego descargar la nueva y guardarla tambien, para luego volver a cargar ambas y comparar los datos, ademas de que implica la busqueda de archivos y repetir el proceso de carga por cada imagen que ya haya guardada.

Por eso pensando, creo que seria mejor si en vez de almacenar toda la imagen, calcularamos el hash de esa manera se podria almacenar en una base de datos de hashes con sus respectivos valores alfanumericos, y puesto que cada hash corresponde a una sola imagen creo que no habria problema, ademas se evitaria todo el proceso redundante y la busqueda solo seria por hash ( eso si hay coincidencias, no se como se generen los captchas), y mucho mas rapida ya que solo se trabaja con memoria, bueno, el codigo que hice seria mas o menos este (ayudado por el codigo de Marco Antonio) EL CODIGO ESTA EN VB:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Function CaptchaToHash() as String
        Dim ms As New IO.MemoryStream()
        Dim jCaptcha As mshtml.HTMLImg
        Dim HTMLDoc As mshtml.IHTMLDocument2 = MWB.Document.DomDocument
        Dim ImgRange As mshtml.IHTMLControlRange = DirectCast(DirectCast(HTMLDoc.body,  mshtml.HTMLBody).createControlRange(), mshtml.IHTMLControlRange)
 
        jCaptcha = HTMLDoc.images(1)
        ImgRange.add(DirectCast(jCaptcha, mshtml.IHTMLControlElement))
        ImgRange.execCommand("Copy")
        ImgCaptcha.Image = Clipboard.GetImage
        Clipboard.GetImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)
        CaptchaToHash = GetHashCode(ms.ToArray())
    End Function
 
    Private Function GetHashCode(Buffer as byte()) as String
        Dim tmpSrc As Byte()
        Dim tmpHash As Byte()
 
        tmpHash = New MD5CryptoServiceProvider().ComputeHash(Buffer)
 
        Dim sOutput As New StringBuilder(tmpHash.Length)
        For i as Integer = 0 To tmpHash.Length - 1
            sOutput.Append(tmpHash(i).ToString("X2"))
        Next
        Return sOutput.ToString()
    End Sub

Disculpen el código pero es que no acostumbro comentar mis programas (es un mal hábito), creo que este proceso es mas sencillo y menos redundante, es mas facil buscar unas cadenas de texto simple, estas se almacenan en la BD y luego cuando nos llegue un nuevo capcha, lo convertimos a hash y lo buscamos en la BD y tomamos el valor alfanum, si no simplemente se almacena y se trabaja con la imagen para averigual su valor alfanum, ya sea con OCR o pidiendo al usuario, etc.

PD: se necesita importar: System.Security.Cryptography
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 21:16:06
Basado en tu comentario de que hasta las 70,000 imagenes enconstraste una coincidencia ¿de a cuantos nos toca resolver cada uno para tener la respuesta en base al hash? No sé si soy demasiado pesimista, pero lo veo un poco complicado. Yo por lo pronto no me quiero quebrar la cabeza haciendo suposiciones, empezaré cuando lo implementen. A mi en lo personal si se le dice al usuario: "Mira, para que no te tomes la molestia descifrar y capturar los textos vas a pagar x cantidad" ya sélo que me va contestar JAJAJAJAJAJA!!!

PD Hay varios que creo no se toman la molestia de leer todos los comentarios anteriores, no lo digo por David, y ponen y reponen lo mismo. Bueno veremos hasta donde llegan. Lo que creo es que solo buscan los comentarios donde hay código, los demás ni los fuman.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 21:23:20
Alejandro,

El software de esta empresa http://kraitt.net/home/productos/rex.html

el archivo captcha_temporal.jpeg cambia cada que se ingresa al SAT

y graficamente se ve como se escribe el texto de dicho captcha en la interfaz

Es decir no importa si usa o no la url "Magíca", lo que estoy intentanto descubir es que metódo usa para lograr el OCR

Deberías bajar el programa de ellos y darle un vistazo rápido y tu teoria inciial cambiará

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 22:04:28
LES COMENTO QUE YO TENGO EL OCR LIBERADO, SOLO DENME CHANCE TERMINAR UNOS PENDIENTES Y SE LOS COMPARTO JUNTO CON UN VIDEO TUTORIAL DE COMO SE USA, ESTE OCR LOQ EU HACE ES LEER EL CAPTCHA Y ESCRIBIRLO EN UN ARCHIVO DE TEXTO, ESPERO NOS PUEDA SERVIR, EL DETALL ES COMO GUARDAR LA IMAGEN EN UN ARCHIVO JPG LA IMAGEN QUE NOS APARECE EN EL WEBBROWSER.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 22:06:30
La parte del guardar la imagen del webbrowser esa ya la tengo solucionada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 22:11:47
LOLO sera que me puedas enviar esa parte y te regreso lo del ocr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 07/03/2017 22:15:08
En serio?
eso es posible con solo usar OCR, sin ayuda de un webservice con un ejercito de obreros explotados?
Son buenas noticias, pero que tanta eficacia tiene?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 22:16:26
Claro, este foro es para compartir codigo, con gusto podemos colaboramos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 22:17:51
dame unos minutos y tratare de subir el video de como se usa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 22:24:56
aqui les adjunto el video de como podran usar el ocr del teseract
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 07/03/2017 22:38:52
Una pregunta Rafael, en tu prueba muestras una imagen practicamente clara, todas las letras estan separadas perfectamente, pero la mayoria de los captchas que salen ahorita tienen caracteres practicamente no espaciados, funciona bien con cualquier tipo de esos captchas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 22:43:27
no lo he probado con los capchas del sat seria cuestion de que lolo me compartiera como guardar en capcha que aparece en en webbrowser y verificar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 22:53:41
Listo, Lolo, me convenciste por tu determinacion. Voy a bajar el programa antes de que le hagan otra cosa, no sea que lo protejan y no nos de chance. Luego comento.

En que lo quieres rafael en C# o VB.NET? En el primero ya esta puesto arribita y en VB.NET lo tengo, ahi avisas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 23:10:44
Realice las pruebas con Tesseract-OCR desde que SAT lanzo su captcha, 13 de febero 2017 no obtuve buenos resultados.

Y analizando el programa que les comento arriba
http://kraitt.net/home/productos/rex.html

al parecer ellos no utilizan esas librerias o almenos no las almacena en sus carpetas de archivos.

Rafael
Para las pruebas del tesseract-OCR puedes utilizar cualquier captcha del SAT.
jcaptcha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 07/03/2017 23:15:21
Pero funciona?

Porque miproveedor me ofrece un plugin de OCR para mi lenguaje que hace uso de TesserAct
para saber si lo compro o no.


Saludines
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/03/2017 23:17:09
les comento que acabo de realizar las pruevas con la mayoria de los OCR y no tuve exito alguno en la lectura de los capchas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 23:18:56
Lolo, no es por causar polémica, pero dentro de la carpeta de ese programa hay un archivo llamado "lol_cat.xml" y que hace referencia a los captchas ¿no es tu programa? Por las malditas dudas no me atrevia probbarlo porque necesita el rfc y por lo que vi el programa se conecta a su portal asi que eso a mí en lo particular no me gusta. En la noche esta checandolo para ver a que paginas se conecta.

Edito: 5 minutos despues veo que ese lol_cat.xml es una db con algunos de los captchas resueltos. ¿Que piensan uds. estara realmente resolviendo los captchas o unicamente hace creer que los resuelve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 07/03/2017 23:23:24
Alejandro
No amigo no tengo tan mal gusto para diseñar así.

De hecho cuando lo cale por primera vez, me dio risa por su interaz, pero lo que si me sorprendío fue lo del OCR en los captchas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 07/03/2017 23:23:25
Es cierto, hay que ponerlo todo a prueba.

Yo estuve leyendo acerca de TesserAct y el reconocimiento con OCR de Captchas.

Según lei si es posible, pero es muy quisquilloso para lograrlo.
Para tener éxito hay que hacer lo siguiente.

- Que el Captcha tenga formato TIFF
- Convertirlo a Blanco y negro, de preciso pasarlo de paleta a 2 Bits, solo blanco y negro

Les paso la liga:

http://resources.infosecinstitute.com/case-study-cracking-online-banking-captcha-login-using-python/#gref
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 23:27:26
Como edite mi msj no creo que lo vean, esto fue lo que agregue:

"Edito: 5 minutos despues veo que ese lol_cat.xml es una db con algunos de los captchas resueltos. ¿Que piensan uds. estara realmente resolviendo los captchas o unicamente hace creer que los resuelve?"

Lolo tu que ya fuiste valiente podrias grabar un video con lo que que hace si le metes el rfc?

PD Hace uso del hash para comparar la iamgen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 07/03/2017 23:30:06
Coincido contigo, y yo si lo alcancé a ver.

Pues se me hace muy hermoso, a lo mejor como dices es algo "simulado".
TesserAct es Opensource, yo voy a probarlo y hacer mis pinitos a ver si logro algo y si logro algo les compartiré


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 07/03/2017 23:43:37
Analizen el xml todos las hash son identicos, osea los img, los que sin diferentes son los res. Yo siento que si "nos esta jugando". Será alguien del foro?

JAJAJAJAJA... ya sufro paranoia por culpa de Rafael (va sin mala onda, ¿eh?)

EDITO: Nop, si son diferentes. Ya se yo lo que vamos a hacer: como actualiza ese xml via remota diario lo actualizamos y haces uso de ese xml ¡Ahi esta la solucion! No me deben nada.

EDITO(otra vez): Este programa me ayudo a pensar diferente, siento que la onda puede ir por otro lado. Si ya lo hizo asi fue por una causa. Voy a ver si tiene logica lo que estoy pensando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 00:01:08
Que tal Alejandro;

Solo para quitarte tu paranoia.

Esta empresa ofrece tambien el Acuse en PDF donde para ingresar te pide captcha y no hay url mágica ahi.

De hecho para pobar el OCR que ellos manejan no hace falta que tengas un RFC y Contraseña, basta con que tengas un XML
ya que en su Visor "Trifasico" ofrece ingresar a validar dicho XML y para llegar a ese resultado de alguna manera burlaron el capcha ya que su visor lo muestra en un navegador web.

Esta es la otra liga que pide captcha:

https://verificacfdi.facturaelectronica.sat.gob.mx/

Adjunto pantalla con su visor trifasico
Captcha2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 00:27:58
Acabo de testear el programa, es cierto es demasiado bueno para ser verdad, pero algo me dice que ese xml de captchas es solo para despistar, si lo ven bien el programas (que esta horriblemente diseñado por cierto) es demasiado pretencioso por el hecho de decifrar el captcha en tu cara, no tiene sentido, nunca te muestra la pagina del sat si el login es automatico, ¿Que sentido tiene que veas que decifra el captcha?

Jajajajaja, el OCR es un fraude XDDDDDDDD ¡NO TIENE OCR!, pruebenlo bien y dense cuenta que cada vez que descargas la imagen que te muestra es una de las que estan en el lol_cat.xml, nunca es una diferente, claro, asi parece que realmente resulve los captchas pero en realidad fueron resueltos manualmente y almacenados en una cantidad moderada y al mostrarse aleatoriamente pareciera que siempre resuelve uno diferente XD

EDITO: Probablemente usan la Url magica, y en el caso de la validacion tambien encontraron la manera de saltarse el captcha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 00:29:50
En si si hay simulación en parte:

Ya que en su visor que a simple vista parece ser un webbroser no lo es, ya que su imagen de logos del SAT estatica y su botón
de "Verificar" es un boton Windows.

Poco a poco estamos decifrando si es o no es fraude...


headerRojo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 00:35:14
Como dije antes, encontraron una url magica para la liga -> https://verificacfdi.facturaelectronica.sat.gob.mx/

Piensa un poco, en el modo de descarga de manera presumida te muestran que el programa puede hacer OCR, pero en la verificacion no lo hacen, en realidad si te fijas nunca carga la pagina antes del captcha, solo hasta despues para darte el resultado, y esto es por que lo mas probable es que asi sea con una url, encontraron un bug tambien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 00:36:04
Pecas de ingenuo, Lolo, los datos que te da vienen en el xml, lo unico que hace es validar si esta o no vigente y eso lo haces desde una url pasaandole el uuid.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 08/03/2017 00:43:02
Que chafa
jajajaja, creen que nos chupamos el dedo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 00:45:19
Alejandro;

Pecas de ingenuo tu?

Dime de un XML Emitido y Cancelado de donde obtienes la fecha de cancelación?

Es decir en el portal del SAT la fecha de cancelación aparece solo en los XML recibidos relacionados con el RFC con el que ingresas, pero del mismo rfc pero Emitidos ese campo no aparece.

El único lugar que maneja fecha de cancelación es esta liga:
https://verificacfdi.facturaelectronica.sat.gob.mx/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 00:45:21
Webservice, perdon, me equivoque, no es url. Al consultar un xml, por la url magica, entre los datos que te da te arroja te da si esta vigente y la fecha de cancelacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 00:55:09
Acabo de analizar bien en la parte de la verificacion y miren esto:

https://www.mediafire.com/?1sboq9c1dlzksca

Pero no se aun no me lo creo. Veanlo en camara lenta.




PD:No estoy registrado completamente asi que no puedo subir archivos aqui.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 01:02:23
No sé por que sigo pensando en que es tuyo el soft, Lolo, lo defiendes a capa y espada, aparte del nombrecito del xml que alude a tu nick. Si lograste burlar el captcha ¡FELICIDADES! eso quiere decir que es factible, asi que vamos a estudiar la manera de lograrlo tambien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 08/03/2017 01:05:13
Coincido. Esta parte de nuestros proyectos si debería ser Opensource, ya que es la base de entrada a nuestros trabajos, por lo tanto si algunos nos reservamos el derecho a publicar nuestro código por x o y motivo, en esta sección del proyecto si debemos aporramos y en mi caso particular en cuanto desarrolle algo, lo comprare con ustedes.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 01:41:23
Jaja es cierto, Alejandro tiene razon, es muy sospechoso, a lo mejor es de el XD, habra que analizar bien la pagina del sat, despues de todo esos del sat no deben ser muy listos que digamos, como sea el programa no hace uso del OCR, no lleva ninguna libreria dedicada ni nada parecido, ni tiene una aplicacion para eso, dudo mucho que sea OCR.

Bueno al menos yo no entiendo concretamente el funcionamiento de los captchas, me refiero a la parte del envio de datos, el servidor te envia siempre una imagen que se encuentra en el mismo directorio, pero de alguna manera el servidor sabe que debe actualizar la imagen en cada peticion, por lo tanto fisicamente no hay un archivo jpeg, si no que:
1.- se genera en tiempo de ejecucion
2.- se toma un archivo existente y se renombra para poder servirlo
3.- de alguna manera se camufla la direccion del archivo de imagen y se hace parecer que se accede a https://cfdiau.sat.gob.mx/nidp/jcaptcha.jpg, cuando en realidad el directorio es otro o es algun servicio que sirve las imagenes y las valida

Si alguien sabe mas o menos explicar la base de esto o corregirme si estoy mal, es lo que me viene a la cabeza
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 02:27:38
Como dije, este programa me hizo pensar diferente; estaba pensando muy cuadrado. Hay que agradecer a Lolo por traernos su soft para demostrarnos que si se puede dar la vuelta.

Estaba en otro rollo pero pues Lolo me hizo ver para otro lado Y NI MODOS DE NO HACERLE CASO. Por el momento me retiro, no sin antes agradecer este rato de esparcimiento. Debatimos pero para algo constructivo y nadie ofendio a nadie, me disculpo si llamar "iluso" lo tomo a mal pero nunca fue mi intencion ofenderlo.

Que pasen buenas noches.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 02:58:44
No pude aguantarme las ganas y venir a decir ¡RESUELTO EL ENIGMA! cometiste un error Lolo, tu arrogancia te gano. Por respeto no voy a comentar tu idea, te voy a dar tiempo que corrijas ese error. Por mi parte nada mas agradecerte este tip.

Compañeros olvidense del OCR no es necesario. Ahí está el tip, como cuando les dije de la url mágica, aquí es no usar OCR. ¿Recuerdan lo del famoso xml de Lolo? Ahí esta otro tip.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 04:15:15
Actualizando: NO ES NECESARIO NI EL FAMOSO XML. NOMAS LO PUSO PARA DESPISTAR.

Lolo: Como muestra de agradecimiento si quieres mandame un correo para decirte cuál fué tu error. Claro, aparte de venir a este foro a fanfarronear y no sabeias que tipo de gente te ibas a encontrar. Que conste que no te estoy insultando, que te sirva de experiencia. estoy seguro que eres muy joven y no mediste las consecuencias de tu acción. Te recomiendo que le cambies el nombre y apariencia de tu programa si piensas seguir metiéndole mas cosas.

Si gustan subo un videito para corroborar lo que he dicho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 08/03/2017 04:29:21
Qué tiene de especial el XML de lol_cat.xml??? sólo son unos cuantas imagenes captchas en Base64, con su valor resuelto... pero eso no nos ayuda en nada.. o a cual XML te refieres?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 04:36:16
Ya lo puse arriba, aampudia, no le hagan caso a eso, ya el lo puso en un comentario antes:

"En si si hay simulación en parte:"

¿Quieren otro tip? Lean el últmo comentario de David.

No pongo la solución tan rápido porque solo unos cuantos estuvimos en este merequetengue. Les apuesto que con estos tips que les estoy dando mañana ya pusieron la solución y todos a agarrar agua pa'su molino sin haber participado. OJO No estoy en contra del opensource pero pues tampoco se vale ser ave de rapiña.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 06:03:48
Hola a todos lo que siguen este hilo;

Alejandro
Solo quiero tocar estos puntos:

1.-El Software REX Extractor XX como se llame NO es mío, lo postie aquí para su análisis ya que estas o estabas muy errático diciendo que es imposible violar el captcha. (Puede que tengas razón, demuéstralo)

2.-En ningún post que publique fanfarroneo con nada y como podría si ese desarrollo NO es mío, lo único que trate fue explicarte que podrías estar equivocado y te puse argumentos.

Es más aceptable la teoría de David diciendo que encontraron la url directa para saltar el captcha del validador de XML, y entonces si teniendo esas 2 urls directas la simulación completa es posible.

Analizando el programa en cuestión encontré cierta simulación en el validador XML, tal como muestra el video de David, sin embargo el capcha que se actualiza llamado captcha_temporal.jpeg aparentemente es adivinado y reescrito en un textbox. (Para romper esta teoría lo que hare reemplazar con otro programa ese archivo y ver el comportamiento del programa XX, si reescribe mi captcha propio entonces es legítimo si no entonces es simulación)

Alejandro si ya encontraste la solución a este dilema te felicito ya que este post fue creado para esto, para descubrir cómo lo lograron.

Por otro lado comentaste que tienes un webservices que te arroja la fecha de cancelación lo podrías compartir por favor.?

Saludos a todos y recuerden que estos espacios son para debatir, compartir ideas, código no es para que se lo tomen personal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 08/03/2017 06:31:51
No hace falta un webservice para eso, ademas no creo que lo haya, eso lo puedes sacar de la misma tabla de resultados que arroja el portal de los CFDIs al que accedemos.

ahi pone fecha y hora d cancelación, cuando esta cancelado, claro.
Puedes extraerlo usando Javascript mediante el uso de DOM y espulgando los objetos "span"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 06:38:07
Gerardo

Estás equivocado;

La fecha de cancelación solo aparece en los XML Recibidos y Cancelados;

Has la prueba con XML que hallas emitido y hallas cancelado.

Anexo imagen.

Emitido-Cancelado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 07:52:56
Hola;

Finalmente les comento esto:

1.-El archivo lol_cat tiene como 30 captchas en base64 resueltos.

2.--Casualmente el captcha que aparece en el programa XX su solución se encuentra en el archivo en el archivo lol_cat.xml realize varias pruebas y todos los captchas nuevos estan en ese pequeño listado.

Conclusión: La empresa esta X solo hacen simulaciones es decir toman un hash aleatorio de del archivo lol_cat.xml lo convierten a imagen, lo muestran en pantalla, esperan un segundo y posterior ponen su solución del captcha en un textbox. (Ellos si se fanfaronean ofertando que burlan el captcha)

PREGUNTAS:
1.-¿Como logra entrar al SAT? con la url magíca que ustedes ya conocen.
2.-¿Como obtiene la fecha de canelación? Puede ser por url mágica

Realmente estoy decepcionado...

Adjunto imagen.
simulacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 14:50:42
Mis disculpas, Lolo, pensé eso por el ahinco que hacías referencia a ese programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 16:00:01
A los entendidos:

http://www.boyter.org/decoding-captchas/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 08/03/2017 17:31:58
Por cierto ya probé un demo de TesserAct para mi lenguaje, pero no funciona, detecta algo parecido pero no el texto en si.
Uso este plugin MBS Christian OCR Plugin y usa TesserAct



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 17:55:47
Es una buena tecnica y parece muy simple, ¿sera eso realmente lo que implementarion los que hicieron el programa ese?, me refiero a la parte de la verificación que es donde pareceria mas real, a mi me da que ellos encontraron un bug o algo, no creo que hagan eso, en todo caso el principio seria empezar con diseñar un algoritmo de conversion de imagenes, para pasarlas a bmp de 8 bits o de 24, aunque se podria trabajar con el de 24 pero ya que hay que definir siempre un umbral de color, esto seria hecho automaticamente al pasarla a 8 bits, no se si haya una funcion en .net que pueda convertir una imagen al formato bmp de 8 bits, si alguien sabe, que hable :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 18:22:15
Chequen:

http://www.mediafire.com/file/h02ddfsbcgrqoy7/captcha.avi

El link que puse anteriormente eso sería lo bueno hacer, ahí el bueno es Rafael.

Bueno, ahora sí los dejo para seguir en lo que estaba haciendo. La verdad no le veo chiste a esto porque al ver el SAT que ya se bricó esto va poner otra cosa, pero bue....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 19:16:42
Bueno Alejandro ya lo desifre, no habia checado a fondo por que estaba con lo del link que pusiste, bueno al final era como pensaba, casi parece que lo hicieron niños XD, a veces me pregunto si hacen las cosas a drede o tal vez sea por que los servers no dan para mas, bueno, de todos modos no se si sea bueno poner la respuesta aqui a la vista asi nadamas, por que si luego medio mundo sabe, ellos detectaran la sobrecarga de los servers, y lo van a cambiar.

EDITO: No digo que no se comparta, pero hay que buscar un modo un poco mas seguro de hacerlo.

Yo estoy de acuerdo contigo en lo del OCR, hay que crear el algoritmo de decodificacion por medio de las imagenes, si hay interes yo me apunto, por el momento quisiera saber si alguien sabe una funcion o api que pueda guardar las imagenes al formato bmp de 8 bits, esto para no tener que hacer la transformacion manualmente y empezar a trabajar en el algoritmo del vector, ya si no pos a ver por que .net trabaja con 32 bits hay que ver cual es la estructura del formato.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 19:28:43
Si te das cuenta tú también estuviste en este lío tratando de "descubrir el método", y como te habrás dado cuenta, nos estabamos yendo por otro lado cuando la respuesta es tán sencilla. Lo de compartirlo creo que por el momento no sería necesario porque no se requiere su uso y así damos la oportunidad a los demás de aprender y que no todo lo quieran "peladito y en la boca" pero pues es decisión de cada quien.

Felicidades, David. Que bueno que tomaste en cuenta los tips, digo, si es que los usaste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 19:53:44
Pues es cierto tienes razon tal vez sea mejor que cada quien la descubra, en si esta muy facil asi que no creo que tarden mucho, y tambien es cierto no sirve de nada, al menos mi programa no lo usa ni lo pienso usar, el webservice hace la validacion de existencia y vigencia, y ya localmente se puede hacer la validacion de la estructura, no se necesita nadamas, hacerlo por el navegador es mas lento para cuando quieres validar muchos xml, el programa, creo que usa eso para impesionar, nadamas, muy listos esos de kraitt :$, por que el hecho de aparentar puede hacerte vender mas XD, pero eso de andar engañando gente como que no.

Aunque si bien lo piensas lo necesitan, el diseño esta de pena XD. que onda con el dinosaurio,lol
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 08/03/2017 20:26:20
Solo dejare esto por aqui y me ire lentamente.

x

Gracias a Alejandro y a David pudimos desenmascarar a la empresa X, gracias por sus aportes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 08/03/2017 22:04:58
Bueno, muerto el perro...

Invetigando ya encontre la manera de convertir la imagen del captcha al formato tiff (que es mas sencillo de manejar, ademas de contener una cabecera mas pequeña, practicamente es pura informacion de color), ya tengo las funciones para meterlo en un stream, desde ahi se podran chequear lo pixeles para realizar los conteos y generar la segunda imagen monocromatica (creo que eso sera facil tambien), lo que veo un poco mas complicado es lo de definir los limites de las letras, bueno aqui dejo las funciones por si a alguien le interesa.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub BtnConvert_Click(sender As Object, e As EventArgs) Handles BtnConvert.Click
        Dim HTMLDoc As mshtml.IHTMLDocument2 = DirectCast(MWB.Document.DomDocument, mshtml.IHTMLDocument2)
        Dim ImgRange As mshtml.IHTMLControlRange = DirectCast(DirectCast(HTMLDoc.body, mshtml.HTMLBody).createControlRange(), mshtml.IHTMLControlRange)
        Dim CaptchaElement As mshtml.HTMLImg
 
        Dim jCaptcha32 As Bitmap
        Dim jCaptcha8 As New IO.MemoryStream
 
        Dim ImgCodecInfo As ImageCodecInfo
        Dim EncodeType As Encoder
        Dim EncoderParam As EncoderParameter
        Dim EncoderParams As EncoderParameters
 
        ImgCodecInfo = GetEncoderInfo("image/tiff")
        EncodeType = Encoder.ColorDepth
        EncoderParams = New EncoderParameters(2)
        EncoderParam = New EncoderParameter(EncodeType, CType(8L, Int32))
        EncoderParams.Param(0) = EncoderParam
 
        EncodeType = Encoder.Compression
        EncoderParam = New EncoderParameter(EncodeType, Fix(EncoderValue.CompressionNone))
        EncoderParams.Param(1) = EncoderParam
 
        CaptchaElement = HTMLDoc.images(1)
        ImgRange.add(DirectCast(CaptchaElement, mshtml.IHTMLControlElement))
        ImgRange.execCommand("Copy")
        jCaptcha32 = New Bitmap(Clipboard.GetImage)
        jCaptcha32.Save(jCaptcha8, ImgCodecInfo, EncoderParams)
    End Sub
 
    Private Shared Function GetEncoderInfo(ByVal MimeType As String) As ImageCodecInfo
        Dim Encoders() As ImageCodecInfo
 
        Encoders = ImageCodecInfo.GetImageEncoders()
        For i As Integer = 0 To Encoders.Length - 1
            If Encoders(i).MimeType = MimeType Then Return Encoders(i)
        Next
        Return Nothing
    End Function

La funcion devuelve una imagen de profundidad de 8 bits sin comprimir, esta se puede almacenar en disco o en memoria.
El offset de los colores en la imagen tiff esta en el byte 08h y termina en 36B7h para todas las imagenes de tamaño 200x70 pixeles que es el que manejan los Captchas de la pagina del login.

PD. Disculpen lo de los comentarios, pero como he dicho antes no me gusta comentar mis codigos :(, si alguien no entiende algo, con gusto le respondo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 08/03/2017 23:15:31
Por eso puse el link de python, porque parece que ese cuate ya la tiene pelada, digo "parece" porque yo no se python (y ni quiero aprenderlo).

Ahí si alguien lo entiende que lo pula, lo traduzca a VB.NET y ponga el código para que venga ha hacer copy-paste a mi programa. Espero no sea mucha molestia lo que pido.

PD. ¿Qué pasó con Rafael? Se nos perdió.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 08/03/2017 23:26:48
AQUI ANDAMOS MIS BUENOS AMIGOS, SOLO QUE ESTOY CON OTROS DESARROLLOS DE FACTURACION 3.3 Y NOMINA 1.2 EN VARIOS LENGUAJES COMO PHP, PYTHON, VB.NET Y C# Y LA VERDAD HE TENIDO ALGO DE TRABNNAJO PERO DENME CHANCE Y AHORITA LES SUBO UN PEQUEÑO APORTE HACER DE COMO SERIA, SALUDOS. LES ADJUNTO EL CODIGO DE EJEMPLO PERO NO LOGREE SOLUCIONARLO

LO PODRAN DESCARGAR DE AQUI
https://1drv.ms/u/s!AsY3m_T9Y0qYgvdFp-YLTKJqxEzcMA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 08/03/2017 23:35:18
primero, Alejandro y David, pensé que lo que decían ayer era para el captcha de jcaptcha del login para descargar XML's (que son letras juntas), no para el captcha del verificador (numeros separados). Yo ayer en python empecé a jugar por primera vez en la vida con OpenCV para convertir las imágenes en B&W (blanco y negro) y meterlas a un OCR, sin lograrlo todavía. Logre que en el catcha numérico me detectara los blobs de los números (que detecte que hay un bonche de pixeles que es suficientemente grande para ser un numero y no las rayitas distractoras). pero no he encontrado como quitar las rayitas para meterlo al OCR.

El de JCaptcha (letras) tuvo menos avance por que el separar las letras está más cañón... ese me quedé en hacerla una imágen "binaria" B&W, pero ya me metí a un crash course de opencv para ver si lo puedo sacar de algún modo.... les avisaré si lo logro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 09/03/2017 01:39:23
Qué bueno, Rafael., no sé si hayas checado el link que puse, lo hice para que, principalmente, tú le hecharas un ojo.

Rafael, aampudia, Lolo creo que sería bueno retomar lo que comento David sobre una comunicación segura para mostrar avances. Si gustan lo tratamos aquí o definimos las reglas por correo. ¿Por qué solo los menciono a ellos? porque fuimos los que mas estuvimos viendo ese "hack". No quiero alborotar el gallinero, si no les gusta la idea nada mas díganlo y se acabo. No hay necesidad de entrar con descalificativos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 09/03/2017 03:38:56
usando la ingenieria inversa en una aplicacion que veo si lee el captcha seria asi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Private Sub fcaptcha_Load(sender As Object, e As EventArgs)
	Dim xNamespace As XNamespace = XNamespace.[Get]("")
	Dim name As XName = xNamespace.GetName("item")
	Dim name2 As XName = xNamespace.GetName("res")
	Dim name3 As XName = xNamespace.GetName("img")
	' The following expression was wrapped in a checked-statement
	Try
		Me.StartPosition = FormStartPosition.Manual
		Dim location As Point = New Point(CInt(Math.Round(CDec((Me.Owner.Width - Me.Width)) / 2.0)) + Me.Owner.Location.X, CInt(Math.Round(CDec((Me.Owner.Height - Me.Height)) / 2.0)) + Me.Owner.Location.Y)
		Me.Location = location
		If Not funciones.existearchivo(Application.StartupPath + "\lol_cat.xml") Then
			Me.Close()
		End If
		Dim xElement As XElement = XElement.Load(Application.StartupPath + "\lol_cat.xml")
		VBMath.Randomize()
		' The following expression was wrapped in a unchecked-expression
		Dim index As Integer = CInt(Math.Round(CDec(Conversion.Int(42F * VBMath.Rnd() + 1F))))
		Me.respuesta = InternalXmlHelper.get_AttributeValue(xElement.Elements(name).ElementAtOrDefault(index), name2)
		Dim s As String = InternalXmlHelper.get_AttributeValue(xElement.Elements(name).ElementAtOrDefault(index), name3)
		Dim array As Byte() = Convert.FromBase64String(s)
		Dim text As String = Application.StartupPath + "\captcha_temporal.jpg"
		Dim fileStream As FileStream = New FileStream(text, FileMode.Create)
		fileStream.Write(array, 0, array.Length)
		fileStream.Close()
		Dim image As Bitmap = New Bitmap(text)
		AddressOf Me.captcha.Image = image
		AddressOf Me.Timer1.Interval = 3000
		AddressOf Me.Timer1.Start()
	Catch expr_1A9 As Exception
		ProjectData.SetProjectError(expr_1A9)
		Dim ex As Exception = expr_1A9
		Me.Close()
		funciones.log("Problemas al decifrar captcha " + ex.Message)
		ProjectData.ClearProjectError()
	End Try
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 09/03/2017 03:52:23
Rafael... esa función lo que hace es que toma uno de los 40 "captchas" del archivo lol_cat.xml al azar. Esos captchas estan previamente resueltos, y la imagen está almacenada en base64 dentro de ese xml. la funcion lo que hace es que toma ese texto base64, lo convierte a imagen, te la muestra y simula que lo resuelve..... pero siempre es uno de esos 40 captchas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 09/03/2017 14:35:18
Bueno, veo que me ignoraron, pero no importa.

No pierdan su tiempo. Para recuperar los xmls utilza también la url mágica. En donde usa el "ocr" es solo en la validación del xml. Por eso les puse que el lol_cat.xml lo habia puesto como parte del teatro, osea en la validacion si lo usa, pero ahi el SAT sí "dá chance", en la recuperación no.

Mejor vámonos con lo que dice aampudia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 09/03/2017 16:29:47
No se por que, siguen buscandole 3 pies al gato cuando ya saben que tiene 4, solo estan perdiendo el tiempo.

Como dice Alejandro hay que ver un medio mas seguro de comunicar avances.

Sobre tu codigo rafael, el problema es que tesseract necesita ser "entrenado" para los tipos de caracteres a decodificar, si no no funciona, ahora, yo nunca he usado tesseract, no se como se "entrena", si sabes tal vez podrias decirnoslo, por otro lado, en el articulo que puso Alejandro, el algoritmo que se propone tiene un metodo de aprendisaje simple basado en identificacion de las letras en las imagenes y el posterior recorte, para que sirvan de plantilla para captchas del mismo tipo, en caso de cambiar el tipo de captcha, se "supone", que se adapta, es decir determinara, nuevos tipos de caracteres para las nuevas plantillas y poder trabajar correctamente.

Yo tampoco se phyton y aunque me gustaria aprender eso no es viable para esto, asi que por el momento terminare el algoritmo para pasar las imagenes a monocromo, si tengo tiempo, a ver si para la tarde ya lo tengo, aunque Rafael traduzca el algoritmo de phyton, bueno, no esta de mas si hago algo adicional.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 09/03/2017 17:05:15
Hola a todos;

Pues yo estoy cambiando mi investigación ya que con tesseract por el momento no es posible aplicarle OCR a los Captchas y cuando sea posible los Captchas serán los primeros en desaparcer como candado de seguridad.

El código Rafael basado en el programa X, puede ser una opción para liberar algún producto Crowdsourcing un juego o para alguna utilidad el linea o nuestro propio producto, lo que haria es que humanos capturen el captcha, ya saben se ponen 2 captchas juntos uno es el que nosotros controlamos y otro es que queremos que nos ayuden a decifrar, entnces si 10 o mas humanos coinciden con el captcha lo damos pro valido y lo agregamos a lol_cat.xml.

Se es es un proyecto a mediano plazo pero juntos podemos hacer crecer ese archivo lol_cat.xml con los captchas especificos del SAT y así cada uno podrá usar dicho archivo para los fines que más le convengan.

Funcionamiento:
1.-El captcha del SAT se obtiene del webbrowser
2.-Se convierte a base64
3.-Se compara el resultado con el archivo lol_cat.xml
4.-Si existe el registro se le devuelve el captcha resuelto
5.-Si no entonces se le pide al usuario que lo escriba

Y así cada uno tendra su propio lol_cat.xml y solo quedaria compartirlo en algun servidor o webservice para hacer crecer dicho archivo y en algún punto lograremos hacer el efecto magíco.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 09/03/2017 17:22:24
Bueno Lolo eso seria una buena idea si los captchas se repitieran en algun momento, ayer estuve haciendo mas pruebas con una optimizacion del programa anterior que tenia, esta vez almacenando los hashes en una base de datos para acelerar la busqueda y no encontre repeticiones nunca, a pesar de que la base de datos tenia ya como 80 mil registros, francamente no se que tan viable sea, por que no se si en realidad se generan en tiempo de ejecucion, si es asi te imaginas cuantos millones de posibilidades hay?, con que un solo pixel varie de color en lo mas minimo ya tienes una imagen diferente y el programa nunca encontrara coincidencias, pero OK esto no es seguro, bien podria alguien hace la prueba, de descargarse una 100 mil captchas o mas a ver si tiene suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 09/03/2017 17:28:24
David tienes toda la razón es como una huella digital....

Alejandro
Arriba lei un post tuyo donde comentas que "SAT le da chanse" y te refieres al Validador con Capcha númerico puedes aplicar tu comentario
por favor.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 09/03/2017 17:55:12
*Ampliar tu comentario ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 09/03/2017 17:56:21
a Lolo y David... no creo que sea tan viable eso de hacer una listotota de captchas... digo, hay una persona que lo hizo pero con el jCaptcha de sonidos... el engine de captchas que están usando, el jcaptcha tiene opciones para personas con dificultades de vision, y salen unas claves de numeros en audio, pero no lo tienen implementado en el sat , aquí está la liga http://blog.holozip.co.uk/post/95760433256/breaking-jcaptcha

sería cosa de hacer la prueba de si bajando miles y miles de captchas de repente se repiten, por que la cosa es que deben de tener algo de aleatoriedad al generar la imagen. y con un solo pixel que cambie ya no coincidiría el captcha... si se fijan, en el captcha de validacion si mandan la misma "Data" en el url, va a regresar una imagen con los mismos números, pero poquito mas o poquito menos inclinados, o poquito mas o menos rayitas distractoras, o cosas así.... hagan la prueba, denle refresh varias veces a este link y van a ver que cambia cada vez, aunque sea el mismo código, ha de ser algo similar para el de jcaptcha de recuperación de xml ( https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=08LhSWlktstqCSRmeChLwI+bEEH7zDcNlJ66PjbpQoHGh9vusdMATuQVFKqok3uYfi3PhLzLngeAP/gp2h3AQvIiUt/Kr9Hwbm1N4peN3m4= )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 09/03/2017 18:31:44
¡Por fi me estan hciendo caso! JAJAJAJAJAJA...Naaaaa... wasa, wasa...

Pues ya coincidimos que la listotota no va fulrular. No creo que sea un banco de imágenes del que sacan los captchas. Imaginen el numero de combinaciones de 5 caracteres tomando "solo" las letras del abecedario, ahora súmenle una pequeña inclinación de más o de menos y el cambio de color.

Sigamos buscando opciones, insisto sobre "un canal seguro".

Lolo mándame un mp o correo para sacarte de dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose Celso (3 intervenciones) el 09/03/2017 21:26:59
Como dicen se puede hacer que en
https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=

se guarden los codigos que genera la imagen que siempre es la misma en base al texto enviado
idsat cadenasat

99824 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=VLT7IQd4UcNxKCDO98dpN7OOfGwoXVf5Jtf/xCOl3UqDoKMs1OmBdd3J10GgKpnJF0iKgDjXKamYKJH4WN04+xmSnC8QjTpRw7wb6VgjZEU=
99830 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=jDLtAP+s9/egQHc37SMraulc3eSwbYR/PlEO/yGc+p036vInd4p0OkDm6gXPa0PGnbgr+jLrzOoMFuTm5QCwWXbw0S6F5P8/mRLtO2kU8L8=
99837 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=GGNgmsLN+rbjbDKHOHTiO0wFx6TH17LcqBg1xW/2RboRnVbm4sVQ9lhUuuNrhrtMu7wyCA9YOud3lKjG9AueskyYZU56XPWzhod6N/z2IGA=
99841 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=xRqMYFYsF0AXVBOPqFlbNfwHcN5B48XL6JrtJxZhDdtgS9U5Z7yBCvVw6Mv7tohx9SJaiAeAK/pGKPkQcsobtZ+6ZL21wmenV3A174MPTL0=
99844 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=znD/BhS7MiQ3k60Djnx2ZpoFXH5BfIckefLRAI+j+qSbbDEnqSTERERr7HRkfai0zTvhb8Stv7ANKBeuLLJVPsgZreaoacuayeip2Qipk2E=
99848 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=hS2eM12bUUzwKq6mxl/27KXWZsDTa7ddLN1mLbJ+lxGQRpENoe1HCvM1U1hJuuiBmuDQq8evsoDw3Ryz7OPO4ZyCENqfDXkCNKIM1QxNHDM=
99858 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=+G626MxM/pNcwHiokc5xFlZoXmUXLl9xS0V8Dnf7kORpP2rVPDg2cqH44RcQKHhRHCzPb/4i16HrEnx+wjjGmEI4z2gz9VNnUXim6ap1nig=
99867 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=WGlYPkA6iF27cnA/ZAognh4yXkNpphRS9wZHVqur5RCOc5GIvFyv7zpD7Fm5GiLvLi6EAF5jI2aA08Zk4KbJbn7LeazDbEq7xx02ZyI/h+8=
99889 https://verificacfdi.facturaelectronica.sat.gob.mx/GeneraCaptcha.aspx?Data=eyCVGo+Nn6Ea2JtKIHssHZA2Ku7Tzmq+b4Wxn3qMUN+5SpAW9oZMEpN/6F17h6Ng5H+acgAXnGj7YBpmhBDiFXoA0CIPwSjiMXUV7R9A6/4=

pero tambien hay que considerar el viewstate de la pagina aspx

viewstate

idsat viewstate
99824 e4fPjqTL5w+mppVxutCuKgHvt4cI2cg9RP7vlb/I8oqnya1L5Er6fxBaf/7U/JIrhNPGOe7vf+QkyoqIl0NUbuqE+KDnlx91G8XtQvQpef8I1VlKnZ3zOcMiVDattNXxFQDZvK2Wcp2OCMUDeAyfzcSbjCdroXSeVumeifx/ZcgbDVPScui+CTEqnP6ceYTliLEKyL3VMX8M1/HjPVbo+Bv0MjjDkjrw/j2pay7rNRzV3SvkwD6XPL4ewphzW0xWlNH7gtop8CUEfw5dBgAFcnbeJAM2svRTtVm4z4kd72C6/nBtASK69zgS87XqXGovB+CAJh5ZrHx2yoy+37UO/br4m49OADlwipzhoTv0/iTOJ2G3
99830 w4NqNk7MDQTeOgJ4SVgzH8u0NhtOWHamBeGVNQgjmuo6rIUQh+u3rn//lisKhPu4iPP1iVziDNBI5HXdV7Hi55U0a3GSrv9KqFpzJexBl7J2OV7RIt2pYeK6YIuwvDuCgGiMswHicwTjH+A3Aelcrsmmt3JXuBSjLZyn7vSiVrOZqwzMKlSTjAOyq9T4D7B/396Q0ZC7dJGk6ydHC4zLsRDD+tXVj+w7UKwi7kbkU83SaS8h8w/WoL2ELH70vLWEJnkThIlyZTJOcQyPEQRtPPxalEnsQxU0/4H1jEmLX1ni3V7HznxonoLgGbJuGgxCgzp8VRgaKYXZKfEPHJ/tipICnsLYZqw605LCXEcioEhM4sdb
99837 iWn34ttRyAsLBbmawvyvoeBFGXteoAwrUNJKmFLRG1Zb0QPqFYm/nj8IABgqX9E/rnPclmHvEmY4qsLDj1jDmh1IdTHE7oSEZ4p/UVi7OfLvzX3Fw5sP6sjbCV3/4VLVhncNm1iT6RM9Rcb8ZaRV0+dakgzW1vZgKtAhyFEkvwjOIPkXZk7QxQgJtz645bnONbeOFgiXVHAAlezrVi4wBZNYjgMgPhCIe8IeajG3AD7Ng6BhzspFsh+/yx498b5DHt59MdioFBEhDTl2FxTCxlgk7RYFSYr50vSLVtrwOy65ZeSfIi5CFjS+k8lH4q9KxysGxk4HqO7JNRKA1C8nzJSAvP5bVwA9f3fyoPfhR214ikN5
99841 dfsIP/wtEkW1TXqYC585VSRLB+FyJNvJHH8Q2y/limIG+7xcMVDMQWeX3HAoS0qZTadCVYvOdB8axjw6OU50FufmzI1Edh7gsdqjhhQgWkRDWG9kb4GSJqvMNguEOxIBNh1yVTk5XuCzheL6CzijnTr3GV32lKSpm9CEIUNYnazyIUhCOXLh7rgqAAcTjkBZkllJCQhvBdcL8peKtG7SynziKXAIzvh7xdGb8gM2hagm5YHxKC8350hMb/HBkCJRkCsiwIqRDhT+G3sAje3pAoSTxGHBfpG8gwodYO1DCtZHHNJ15WaUlQPPuN0RAiH/y/rz8Nz3gGdjjBbx5pzKSK1xiPYvIAgorSF/nY7lplO0QiJL
99844 vgIEmiXM5571gITGOJnw8xB7CKnUQuNzPESD+MCK7riGRFdYLZJ0DHnSwvaXLxLARNW4vXoMfzJfKsoq66dSM9XyQjDNTsqSnDk7uNSNXPusSRh737UnskioFyI+sy/dF+JXV+qqedR553EGN+qIv9D9s7H5zXFg7vT02+m8a4oq898o1U04s/+1r/OpI3mtfpBUfPlX/dbHh76smDVh8hV5QTx+Ihw3jH3r8IIZQLB9bxTfZNY9TCIh4r9S+wWdlzlLjkUClJuDwBt2hWxIDXu+orRs6sKZQoEx2MLnmt1mjZ7a5Fj3Ca4TjWh5/L7jdAAt2S0lcUwKcNSWCK5ioTm4utQCxio4aCdKz1lBEeIfIjsV
99848 OGI4iBZHGa0o9Yz7L+KLrgJAhEIdsW2uTuieOXAtCWu4fQLYAs9/sUXY1fdI1Q0ahIvKOvBGXnpcezu+AULNQerC+2A39timWwxPGdT7mU7ylv7ZbA92H6kv4A8C/RrI1rXQKLoq1WGZ1DFxXViRR+ydCzs/qcJIWRC0z9tV5DgUSrp8NCITjF8JsptMiOTQ4pkB5gFtv2KJ7quenaZel7A8LcE4JLBcb4x6WDpz5x1r4Q4Ln/7sOUFbseBuZ/1VC/0QzJ+A9PljU9DLfI6G4tB7DkDwBXtJml4nCziUvF66WT2mBpvUUeU3GCnwiFMXI9XtJtzd5RkJ6SBuSuEsqvpSQWHKtIts0u2hmGsxtWTJ27yE
99858 HxxckoU8B3AEjy4IVT/C4e1ztcSsDouDN056JYTDH68yB/pZW2zTY7JVvgNnAyYijua95TL44TttlAx9oKETgs0O9fes6kaX/02H0WSpsROeghXBXdBzaGkFxqwmQwdO+EcsvbfiatR0VkRXhCmPI11bSgIK6tSmekxx/fn1uw4fxSS7mfQ1jveguAcdncdQQ46xIPR26hCMbgeHfdFUPSX//ITKgFMLADUSCiEIkYPoNZ/DlZD4GCnpAj0zn74DQNsQnIfEKBy8+9P/icd0OldxBGMIZnhNACtPkQR/BxweCZmsOEjhim0IuYOQKJK2BeXNFuOlILfPEZb9kjcYKBEPhCRyNZirrtvFqAyok4OCoTEl
99867 sM2aId6+4IMNS9ZIUzIhe82FARFqKIn3FeY1viXzk1dWGb/t8yBkpE4f5cLSitwb3dPPr0CgMQy4Z92iWY/ubgE8rDjaRHoAg5HXi8DxDOqoYUk0JyFlABRsAEu2e/8KqiHouKzzpC3qtAOHFXqJnXIk8fTJSvjx5S4OHOIysM2/oWmGWFpyp/ZpaEY/Fio8lGtBcyrd+1yoskTgZNGdkkmmMU9DUeCYn9CEaIjUN3iO6ArQWKZh3Y9dkMgyAQubxAcmti8gUYUodgjHJKjw0Wj9/vDZYxbQLHJNsVZsn0cUId0QGgJ/ecotdSz/4MlkBs5zcXdB4XZSnI4BpzZ9rOek9H6ttDMY/ixY+bVNrb8Mkq7H
99889 MekHobvMR59ZmwOUe6iHh6Y3t+g4yaeiBvl5bPrYeOWzxWo8kFLFCnqf4j+C2NcZw4TCMlkqjE7GBPQO48AnM2KS74Z1buoMqAoYwbHJQcE07mzwnh0Wxk5urnxiUHbKnt8lqQulciaTSI82d1yDITh5TF5ygS57VI2tpCVOcRxXrdiKZr8ANSXhF1KaBJk5/kE55aASFYbrq5VOIFnu5fsiGB7UoetMFS8SZ3Iu3eREc7+gnn9C6lFoC60g1dIicAZWC6oSkaDZu889i38i4+yXOjHqpHQl9NP13DAfaweZqZ7FRRP9BncxrFLl40yGpjjCsEB6jicYsT4Dsi0mpGvyqBkC1FD73fLwL7KOF2glg6k2


el viewstate lo genera el sistema y va ligado con el id de la imagen
si enviamos esos 3 datos

el numero resuelto
el codigo de la imagen
el viewstate

junto con el folio, rfc emisor, rfc receptor la pagina nos devolvera la pantalla de
verificacfdifactura.sat.gob.mx 1, 100 o 10,000 veces lo malo que despues el sat modificara para que sea mas dificil
recuperar la informacion.

Espero haberme sabido explicar

Me base en el trabajo de la siguiente liga

http://www.forosdelweb.com/f18/problemas-para-cargar-pagina-mediante-curl-1016564/

digite los codigos de 48,000 hasta q me di cuenta que sin el viewstate no funcionaba
tengo guardados 9,800 codigo captcha, numero resuelto manualmente, y su viewstate

de los cuales solo como 300 ( de los 58,000) se han vuelto a repetir siempre ponen diferentes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 09/03/2017 23:04:09
pues que ya lo pusiste aqui :(, en fin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 10/03/2017 00:54:25
Miren esto:

https://www.mediafire.com/?4va6qeek16lar7g

Oviamente el algoritmo es todavia muy primitivo, (lo hice en un ratito ¬¬), pero se puede ver que es posible sacar los caracteres de las imagenes, de hecho se aprecia una diferencia entre la tercera imagen y la ultima.

1 imagen es el captcha a 32 bits
2 imagen es el captcha a 8 bits
3 imagen es a mono (el paso a mono se hace manualmente)
4 imagen es pasandole el algoritmo para eliminar pixeles difusos

El mayor problema que hay es que las lineas de distorsion son de igual color asi que no se puede emplear el descarte por color (al menos no totalmente), por el momento el escaneo que hace es muy "lite" por asi decirlo, pero creo que con un poco de trabajo se puede lograr algo mas definido, esto lo hago con los captchas de la pagina de verificacion que son los mas dificiles, ya que en los de la pagina del login son mas obvios.

Tengo un problema y es que no se como funciona la paleta de colores, si alguien sabe o un link donde se explique como se indexa, el problema de la imagen es que sigo trabajando con 8 bits en las 2 ultimas por que no se como pasarlo a 2 bits, por la paleta.

Quiero opiniones, a ver como ven.

PD. Los valores de los txt's de la izquierda son del conteo y ordenamiento de colores, basado en el algoritmo que propone el articulo que puso alejandro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 10/03/2017 01:17:03
David es un GRAN avance lo que llevas.

Sube tu imagen 4 para hacer pruebas, a mi parecer a la imagen 4 ya se le puede aplicar OCR.

Felicidades!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 01:42:29
Disculpen pero ora si que ando todo loco por varias cosas que ando haciendo que no tienen nada que ver una con la otra.

Quisiera hacer unas preguntas:

Celso: ¿Resolviste MANUALMENTE 9,800 captchas? ¿Qué tiempo te llevó?

David: Está muy bueno tu avance ¿haz intentado hacerlo con captcha de la descarga?

Lolo: ¿Ya terminaste lo de la validación?

Preguntas sin sentido talvez, pero me interesan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 10/03/2017 05:51:57
SOLUCONADO LO CAPTCHA NÚMERICO DEL VALIDADOR XML ;

El post de jose fue de mucha ayuda...

La solución consiste en enviar todos los parametros del form por post a https://verificacfdi.facturaelectronica.sat.gob.mx/
encontrando la relación entre un captha númerico y el __VIEWSTATE.

Una vez encontrada esa relación solo se forza al formulario a enviar los mismos datos y listo el captcha númerico es burlado.

Imagen 1: Forzo al captcha a ser siempre 41510, mismo caso con el input ctl00$MainContent$TxTCaptchaNumbers
y mismo caso con su __VIEWSTATE. hidden

Imagen 2: Nos regresa el HTML de la verificacion listo para ser Scrapeado




1
2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 10/03/2017 15:57:52
Felicidades, parece que por fin lo encontraron XD, ya se estaban tardando, ahora a ver cuanto tardan en cambiar el codigo para solucionar lo del captcha XD

EDITO: Mira Alejandro con las imagenes de la pagina de login es mas facil, fijate en la tercera imagen, el problema ahi sera separar las letras.

https://www.mediafire.com/?zs85pzmv2zy3clm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 18:39:33
Deja terminar esta semana que no le encuentro ni pies ni cabeza y me pongo a rascarle.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 18:59:17
No me quede con la duda y fui checar un detallito, nada mas para confirmar algo, y sí, David, aquí están los del SAT. Te propongo que los avances que tengamos lo platiquemos en corto. A muchos les incomodará esta petición pero psssss...

Tengo una idea que me anda rondando la choya, pero, como te repito, no tengo tiempo ahorita, chance y es una jalada pero pero no puedo comentarla aquí porque sería darle una luz a SATanás. Si es chicle y pega va por MP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 10/03/2017 19:20:26
Y con .NET quedaria asi.

Misma lógica forzando el captcha númerico a 41510

net

Para el captcha alfanumerico es más complicado por que no podemos controlar esta liga de session

https://cfdiau.sat.gob.mx/nidp/jcaptcha.jpg

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 20:52:44
Tienes razón. Mejor ya no le busquemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 10/03/2017 22:02:09
Pues así iba mi intento de leer los captchas de validación... si no lo modifican no tiene caso, pero si lo modifican, pues a decifrar captchas se ha dicho...
El captcha de las descargas está más cañón por la separada de las letras, ya medio me metí a ver el codigo fuente de jcaptcha a ver si tiene una lista de palabras "diccionario" pero no encontré nada todavía... por que las palabras que sale no me dan la impresión de ser letras aleatorias. seguiré buscando

Y si hacemos un github donde podamos compartir esos códigos?

Captura
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 22:26:27
Chamaco ¿qué creen? pues no es necesario el OCR. La verdad es que no está cargando el carajo porque estamos pensando muy cuadrado. Pues resulta ser que siempre sí se puede usar el mismo captcha. Voy hacer pruebas en otra PC, en esta ya le "jugué" chueco y lo aceptó.

Siento no poner tips porque luego ni los utilizan.

Continuaré informando, colegas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alvaro (12 intervenciones) el 10/03/2017 22:44:50
Alejandro... de cual captcha estás hablando??? el de validación por lo pronto lo dejamos por la paz, por que ya vimos lo que dije del Data, y lo que dijo Celso de Viewstate, y ya Lolo hizo el programa donde inyecta su propio captcha habiendo guardado el Data y el Viewstate de uno ya resuelto, y ya todos podemos inyectar nuestros propios captchas.

Ahora... en tu último comentario estás hablando del jCaptcha de descargas??? por que ese lo veo más dificil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 10/03/2017 23:13:47
Uyyyy... Alvaro, ya me olvidé de la validación. Fuí el primero del foro el que lo realizó en cuanto nos dimos cuenta que se podía hacer sin OCR, hasta video subí. Yo hablo de la recuperación del xml, de como bien mencionas, el jcaptcha.

Ya no puedo seguir haciendo pruebas porque ya no puedo entrar al SAT :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose Celso (3 intervenciones) el 10/03/2017 23:54:10
para verificacfdifactura

De los 9800 resueltos
tengo codigo numerico, parametro del codigo y viewstate


los resuelvo manualmente y los guardo en una base de datos

mi correo es [email protected]
por si alguien necesita para que no manden el mismo siempre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 11/03/2017 00:09:28
Ok en resumén:

Todo inicio por que encontre un programa en la web que juraba poder decifrar los capchas del SAT, asi que lo comente en este foro
para su análisis, y gracias a la colaboración de Alejandro, David, Rafael y su servidor pudimos dictaminar que la esta empresa hacia simulaciones ya que para el jcaptcha tiene un archivo local donde alamcena captchas base 64 ya solucionados y solo hace el efecto en su interfaz utilizando la url directa para el logeo.

Pero aún quedaba una duda ¿Como lograr obtener la fecha de cancelacion de facturas emitidas canceladas, de algún modo tenia que burlar el captcha númerico en el validador XML para obtenerla?, entonces se sumó jose celso y ampudia al resolver el mistero, alejandro y david dijerón que ya sabian como y dieron algunos tips para resolverlo pero fue hasta el post de jose celso donde pude ver la solución al problema.

Conclusión : La empresa Kraitt Tecnología Tabú hace simulaciones engaña a sus clientes vendiendoles la idea que lograrón hacer lo imposible.

Y pues todo esto dío raìz al usar OCR como solución ya ampudia y rafael tiene avances decodificando a 32 y 8 bits el jcaptcha.

Por mi parte les comento que el jcaptcha es muy complicado de burlar ya que utiliza una variable de session de aspx, es decir el captcha se genera desde el servidor, no desde el cliente, y va ligado con la session en el instante del intento del logeo, cada que vuelve a llamarse al script esa variable del captcha cambia asi como su correspondiente sesion en el cliente.

En el jcaptcha no sirve injectarle captchas propios.
jcaptcha

Por lo que el camino mas viable es simular el ojo humano y lo mas cercano es el OCR.

Saludos y estamos pendientes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 11/03/2017 15:45:44
JAJAJAJAJAJA... Por eso puse lo de "TRUCADO", JAJAJAJAJA... 'ta bien, Lolo, por ahi empecé yo y todos cuando comenzamos con lo del captcha.Pero pues tu estas mas avanzado en esto. Recuerdo cuando entraste pidiendo chichi porque la empresa para que la trabajas le queria comprar el soft a Rex y no querias quedar como p... DISTRAIDO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 11/03/2017 16:09:21
Si, en realidad yo ya habia pensado eso desde el principio, pero no dije nada por que queria hacer unas pruebas primero, por que me vino la idea a la mente de ¿y si en realidad el programa REX ese, si necesitara el archivo lol_cat.xml?, ¿y si no era solo para presumir?, siempre hay que tener la mente abierta, apenas iba a hacer las pruebas, pero parece que despues de todo ustedes ya se dieron cuenta y yo no andaba tan perdido despues de todo XD. Bueno ahorita no checare eso por que estoy actualizando mi codigo de la descarga masiva, ya por fin dejare de usar el webbrowser, asi que estare algo ocupado, hay me dicen como van los avances XD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alejandro (55 intervenciones) el 11/03/2017 16:37:24
David, regístrate, necesito enviare un MP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por David (4 intervenciones) el 11/03/2017 16:43:50
Listo ya me registre
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonathan (9 intervenciones) el 13/03/2017 16:38:50
Hola de nuevo a todos, yo durante mucho tiempo use el software de la empresa Facturacion de la cual quiza existe alguien aqui, no lo se, sin embargo les comparto la consola que uso junto con su asistente para ver si alguien le puede aplicar ingenieria inversa y obtener algun provecho.

Descarga:

https://mega.nz/#!Vp8kWDrQ!q8L738xTB7rHAT26tgwD_eTZgZq-UuoO99yWORCHSOE

Link de la empresa y sus librerias:

http://www.facturando.mx/productos/libreria-descargar-cfdi-sat/descarga.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Carlos (3 intervenciones) el 13/03/2017 18:26:04
Jonathan

Se me hace muy mala onda de tu parte, no aportas nada, solo pides cosas y ahora quieres que analicen un programa que usas.

Solo vienes a que te resuelvan tus problemas y no haces ninguna aportación, solamente pides y pides; este foro existe para que demos comentarios, aportemos ideas, demos nuestras conclusiones de nuestras investigaciones; he aquí unos ejemplos de lo que digo:

De casualidad me podras pasar ese programa que estas hacaiendo???
Gracias por tu aporte, voy a revisarlo... de casualidad no sabes como los puedo convertir a PDF?
¿Por que mejor no subes el proyecto que tienes en vez de tu codigo? Seria mas rapido n.n



Según tú, ahora el objetivo de este grupo es analizar cuanto sistema existe en el mercado para sacarle las ideas y dártelas? Porque si es así, conozco varios me gustaría que el resto de la gente analizara por mí, aquí les paso algunos y espero que sea rápido me urgen (sarcasmo off):

XMLSAT++: http://construsoft.mx/xmlsat++.php
XMLTools: http://dsoft.mx/?p=90

Cuál será el siguiente paso? Descompilar los sistemas, hacer cracks, etc?

Compañeros, no soy nadie para opinar, solo una de las cientos de personas que leen y aprenden, aun no tengo el nivel que algunos de ustedes tiene, pero creo que se está perdiendo el objetivo de este foro, primero fueron personas vendiendo cosas, luego los que piden y no intentan al menos hacer las cosas por si solos y ahora están los que quieren sacar provecho de otras empresas, creo que no es lo correcto.

Quiero aprovechar la oportunidad y agradecer a cada una de las personas que han compartido su conocimiento y me han permitido crecer como profesional y como programador, es padre ver esta pequeña comunidad trabajando en conjunto para ayudarnos a todos y espero poder aportar algo en un futuro.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 80
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Lolo (33 intervenciones) el 13/03/2017 18:53:42
Hola a todos.

Estamos aqui para aportar, recientemente tuvimos un hilo relaconado con el captcha del SAT, y gracias a varias aportaciones
logramos reoslver el catpcha númerico y seguimos trabajado en el captcha del login con pruebas OCR.

¿Como lo resolvimos? Con código es decir pogramando, nuestro interes nunca fue poder usar software sin pagar por que somos profesionales, y lo que nos mueve es el ¿Como lo hicieron?

Todos aqui tenemos desarrollos y debemos respetarnos, o dicernir con argumentos.

Jonathan, respecto a la facturación ya esta en camino la versión 3.3 del CFDI entra en vigor el segundo semestre del 2017, deberias
enfocar tus esfuerzos a armar este XML todas la parte técnica ya esta publicada en el SAT, y respecto al timbrado puedes encontrar empresas(PACs)
que te timbrar desde 20 centavos o menos y poder asi utilizar software propio.

Saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (9 intervenciones) el 13/03/2017 22:31:17
que empresa es esa de 20 centavos el timbre

hay algun minimo de compra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por David (4 intervenciones) el 13/03/2017 23:03:27
Jonathan, creo que te estas equivocando, aqui no se le hizo ingenieria inversa a nada, ese no es el tema que se trata aqui, el tema a tratar es la optimizacion de los codigos y algoritmos para la descarga masiva, el hecho que se haya hecho mencion a un programa en particular solo fue una casualidad, nunca se penso hacer nada de desensamblado de codigo ni nada por el estilo, todas las aportaciones que viste, fueron hechas en base a suposiciones, investigacion y observacion de "generalidades", por eso si se genero codigo para solucionar un inconveniente similar, es totalmente original y no se saco de ningun tipo de analisis de codigo desensamblado.El programa mencionado solo se utilizo como un "incentivo", para proponer un reto para solucionar un inconveniente, que limita el acceso a servicios que no tienen nada que ver con aplicaciones de terceros. esto solo fue un "Si ellos pueden yo tambien puedo", y gracias a la colaboracion en grupo fue como se llego a la o las soluciones que habras visto en los comentarios, no te confundas este foro no es de cracking, esas cosas no se tratan aqui, esto no es para ofender, estoy seguro de que tu aportaciones, si es que las tienes seran bien recibidas en donde se traten esos temas, pero ten en cuenta, que un foro colaborativo, es eso, nadie de aqui trabaja para los demas, las aportaciones voluntarias que se hacen son para enriquecer el conocimiento, ya se que cada quien tenga sus razones para utilizar ese conocimiento(necesidad, trabajo, diversion, etc), al menos yo lo hago por trabajo, ycuando no es asi, es por hobby, por que me gusta programar y aprender, se respeta el pensamiento individual, pero tambien debemos entender que al que no se esfuerza no alcanza, y lo poco o mucho que puedas "recoger", no te servira de mucho si no lo sabes utilizar.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso (13 intervenciones) el 14/03/2017 00:40:24
Hola a todos,

alguno de ustedes a intentado utilizar MODI, para la lectura de texto en las imagenes, no recuerdo de quien fue el video que mire, si david, lolo o alejandro ^^, que tenia las imagenes en 4 partes, lo intente directo con las imagenes pero me da un error, les pongo el código, por si quieren intentarlo con los ejemplos de las imagenes que tienen.

yo aun no me meto en la parte de cambiar las imagenes,, pero talves les pueda servir =/
1
2
3
4
5
6
7
8
String ImagePath = AppDomain.CurrentDomain.BaseDirectory + "jcaptcha.jpg";
 
                ReadTextFromImage(ImagePath);
 
                // Set Store Image Content text file Path
                String StoreTextFilePath = AppDomain.CurrentDomain.BaseDirectory + "SampleText.txt";
 
                ReadTextFromImage(ImagePath, StoreTextFilePath);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private static void ReadTextFromImage(String ImagePath)
        {
            try
            {
                // Grab Text From Image
                MODI.Document ModiObj = new MODI.Document();
                ModiObj.Create(ImagePath);
                ModiObj.OCR(MODI.MiLANGUAGES.miLANG_SPANISH, false, true);
 
                //Retrieve the text gathered from the image
                MODI.Image ModiImageObj = (MODI.Image)ModiObj.Images[0];
 
 
                System.Console.WriteLine(ModiImageObj.Layout.Text);
 
                ModiObj.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private static void ReadTextFromImage(String ImagePath, String StoreTextFilePath)
        {
            try
            {
                // Grab Text From Image
                MODI.Document ModiObj = new MODI.Document();
                ModiObj.Create(ImagePath);
                ModiObj.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
 
                //Retrieve the text gathered from the image
                MODI.Image ModiImageObj = (MODI.Image)ModiObj.Images[0];
 
                // Store Image Content in Text File
                FileStream CreateFileObj = new FileStream(StoreTextFilePath, FileMode.Create);
                //save the image text in the text file 
                StreamWriter WriteFileObj = new StreamWriter(CreateFileObj);
                WriteFileObj.Write(ModiImageObj.Layout.Text);
                WriteFileObj.Close();
 
                ModiObj.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Aurelio (2 intervenciones) el 15/03/2017 21:05:35
Después de haber leído los mensajes de las últimas tres semanas, mis 2 centavos: (Lo comento porque yo tengo experiencia en OCR tanto en la academia como para aplicaciones comerciales):

Creo que la ruta de romper los captchas eventualmente será una perdida de tiempo (claro, cada quien está en libertad de hacerlo o no). Tesseract y demas motores de OCR tienen sus limitaciones y aunque los del SAT no son de los más complejos, romperlo no es nada sencillo, efectivamente se requiere generar la base de datos completa con su respuesta (ya sea usando Tesseract, TensorFlow o cualquier otro engine de OCR). Y lo peor es que una vez llegado a ese punto, si el SAT cambia a usar recaptcha (la nueva versión de google es totalmente automática y ni siquiera te pide datos) o un captcha más sofisticado (como el de pedirte que señales en que foto hay pasto): caput.
Las alternativas de "darle la vuelta" ya sea con URLs "mágicas" o por medio del viewstate creo pueden tener mejor éxito, aunque siguen siendo vulnerables a que un pequeño cambio por parte del SAT y se cierra esa puerta.
Coincido también con las recomendación de usar canales adicionales para comunicación (aunque usar correo se me hace muy primitivo, igual usando un canal de slack con aprobación de un moderador puede resultar más eficiente).

Bueno, todo esto desde mi punto de vista.

Saludos y Suerte

AV
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Aurelio (2 intervenciones) el 15/03/2017 21:42:48
Para ejemplificar algo sobre lo que comento en página nacionales:

El captcha de Sanborns: http://facturaelectronica.sanborns.com.mx/CFDI_SN/Forms/einvoiceu.aspx
(pueden ingresar cualquier RFC). Este es muy sencillo, solo dígitos en una misma posición, en menos de 3 días te lleva crear todo los ciclos de preprocesamiento de la imagen (escalamiento, filtrado, etc) para usando cualquier motor de OCR romperlo.

Palacio de Hierro:
http://www.palacio-cfd.com.mx/PortalFacturacionPH/
Un poco más complejo pero en menos de dos semanas se puede tener la red entrenada para romperlo con un % de éxito de más del 90%.

Chedraui;
https://www.masfacturaweb.com.mx/chedraui/chedraui_mfw.aspx
Mucho más complejo: tiene mucho ruido aunque el dominio es limitado (letras), romper un captcha como este sí requiere un esfuerzo de más de un mes.

Home Depot:
https://facturacion.homedepot.com.mx/facto/faces/hdm/facturacion/web/expressbuscar.xhtml
Recaptcha "normal".
Solo con granjas de rompecaptchas (es decir, humanos).

El nuevo recaptcha:
https://www.google.com/recaptcha/intro/invisible.html
Aquí ni siquiera con las granjas de humanos se puede romper.

Ahora el SAT por lo pronto está usando jcaptcha con el engine default, igual, cualquier cambio en el engine (uno que agregue una capa de complejidad) requiere empezar desde cero.

En conclusión por eso opino que la ruta de romper el captcha no lleva a ningún lado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 01/08/2017 19:26:58
Hola Lolo, estoy intentando pasar los datos por post, pero no se si lo estoy haciendo de forma correcta, me puedes echar una mano?

Captura-de-pantalla-30a

Tambien lo intente asignar los valores con el Id y el nombre pero obtengo el mismo resultado: Ha ocurrido un error al procesar su última acción

De antemano mucha gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por John Reyes (1 intervención) el 27/09/2017 20:49:39
Este donde lo descargo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 27/03/2017 20:26:36
Hola, buen día, como les va con la nueva paginación del SAT?

Lo que puedo ver es que ya no existe DivPaginas y por cada pagina un masivapg

Ahora esta ctl00_MainContent_tblResult y en el todos los resultados sin paginar, solo se muestran u ocultan.

Desde mi punto de vista no son cambios relevantes, sin embargo quise comentar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 27/03/2017 20:28:51
Yo también estoy teniendo problemas, usaba un SettimeOut y un ctl00_MainContent_PnlResultados y ahora ya no tengo nada
estoy analizando ahora como va, pero esto nos da una pista


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alan
Val: 6
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alan (12 intervenciones) el 30/03/2017 03:24:22
Que tal, pues bien ahora si ya nos cambiaron las cosas, respecto al captcha como vi en algunos comentarios yo soy de los que opte por dejar la pagina de login del sat por lo cual no presente el problema que varios aquí comentaron con respecto al captcha pero ahora con este nuevo cambio creo que si nos afecta en lo general.

Desde el momento que entramos y le damos consultar nos arroja este mensaje:

error

Voy a empezar a depurar y voy comentando los avances

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 30/03/2017 03:46:37
???.

Si funciona, no se si a lo mejor sea con tu código.
o que estes usando una RL distinta. Porque no pruebas a usar la URL que les he compartido a los compañeros?

Con esa entras sin problema.

Lo unico que si cambiaron es el diseño y estructura del sitio. Si tu Webscrapping o forma de extraer los datos del sitio se basa en los estilos de los objetos DOM, si tendrás que escribir tu código.


Por ejemplo, los objetos SPAN controlan todo, pero cambiaron de propiedad CSS:

UUID cambió de 270px a 350PX
Vigencia cambió de 150px a 200px
Tipo de Comprobante cambió de 150px a 200px
Fecha (Año, Mes y Dia)150px a 200px
Los enlaces de descarga siguen en BtnDescarga y su atributo.



Saludos
DiasList cambió de 150px a 200px
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emma
Val: 12
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Emma (6 intervenciones) el 04/04/2017 20:39:39
Tengo lo mismo y cada vez que doy click en alguna parte del webBrowser donde abre la pagina del SAT manda esos mensajes
que hasta cierto punto son un poco fastidiosos.

Yo lo que hice fue invocar el botón de "SI" de esas ventanitas y ya no lo lanza..

Estoy programando en c# y ese es el código

webBrowser1.Document.GetElementById("submit").InvokeMember("click");
webBrowser1.Document.GetElementById("submit.yes").InvokeMember("click");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Abner (1 intervención) el 05/04/2017 01:58:29
Emma, pero cuando le das si, sigue cargando la pagina donde se filtra las descargas?

conmigo no continua.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Benjamin (1 intervención) el 08/04/2017 20:50:12
Hola que tal Alan, has podido solucionar este problema, ya que me encontre con lo mismo. Y no he podido hasta ahora pasar esa ventana ya que aunque de clic a Si, solo se queda cargando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 19/04/2017 22:02:44
Hola, se pudo resolver este problema ? pueden compartir el codigo ? o donde se coloca
webBrowser1.Document.GetElementById("submit").InvokeMember("click");
webBrowser1.Document.GetElementById("submit.yes").InvokeMember("click");

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 31/03/2017 21:32:02
Gerardo ahora utilizo ctl00_MainContent_tblResult y proceso solo los resultados si tiene mas de un TR ya que el primero son los títulos, una vez entrando a la pagina de consulta siempre esta ctl00_MainContent_tblResult pero a veces esta oculto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 31/03/2017 21:43:06
Si esta oculto bien podrías analizar su contenido o propiedades CSS usando
1
ctl00_MainContent_tblResult.prop[disabled]
para obtener lo anterior, esto te va a devolver un valor booleano verdadero en caso de estar deshabitado y ya de allí manejarte con un IF.


Es una manera, pero yo prefiero seguir con ctl00_MainContent_PnlResultados y ctl00_MainContent_PnlNoResultados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 06/04/2017 16:22:54
Hola a todos.

Desde hace tiempo tengo mi librería para descarga masiva en PHP 7, esta librería ya tiene corregido el filtro de los 500 comprobantes del SAT. incluso puedes escuchar dentro de un closure en que momento la empresa tiene estos problemas de 500 comprobantes en un rango de consulta.

La descarga es asíncrona y por lo cual los CFDIS se descargan al mismo tiempo, soportando una concurrencia muy alta de descarga.

- Puedes descargar Recibidos, Emitidos tanto Vigentes como cancelados, tal cual la pagina del SAT.
- La descarga puede ser por rango de fechas o lista de UUIDS.

Les comento que hasta hace tiempo esta librería yo la usaba personalmente y la vendía, pero ahora he decidido compartirla sin fin de lucro alguno.

Les dejo el link del repo que cree para compartirla.

https://bitbucket.org/cesargnu29/sat-scraper-share
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 06/04/2017 18:06:54
Excelente aporte, Cesar comenzare a probar tu libreria, igual podria hacerte una pequeña donación por este esfuerzo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Cesar (19 intervenciones) el 09/04/2017 16:15:28
Gracias, igual si tienen alguna observación pueden clonar el repo, modificar y hacer un pull request para mezclar los cambios

Sobre el "donativo", a nadie le caen mal una cerveza :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 10/04/2017 15:31:50
Que bien, como puedo encontrarte en skype, a mi me puedes ubicar soporte-advandsys1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 10/04/2017 16:08:58
Hola, mi usuario es cesar.renea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 10/04/2017 20:32:58
Hola

Cambie de ubicación el repositorio. ahora es publico y colaborativo. (una disculpa por el cambio pero es mejor)

https://github.com/blacktrue/sat-scraper

Ahora pueden instalarlo solo con composer:

1
composer require blacktrue/sat-scraper
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 19/04/2017 22:47:14
Buenas tardes, alguien tiene algun codigo para poder realizar la descarga de los Archivos XML del portal del SAT por Favor si pueden apoyar de verdad seria de mucha ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descargar XML

Publicado por carlos (1 intervención) el 19/04/2017 23:00:58
Completo con un donativo... si gustas contactame al mail... ventaspccom01 @ h o t....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Demian (1 intervención) el 11/04/2017 01:48:19
Oye amigo, el enlace está caído:
http://prntscr.com/euxdcs


Retiro lo dicho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 06/04/2017 16:33:57
Hola

Les comparto también una librería que hice para obtener el estatus de un CFDI desde el portal de validación.

Deberán tener phatomjs para poder obtener el screenshot de lo contrario ese atributo vendrá vació.

http://phantomjs.org/download.html

URL del repo

https://bitbucket.org/cesargnu29/sat-cfdi

La respuesta es un array con :

1
2
3
4
5
6
[
success => true,
codeSat => '-S Comprobante obtenido satisfactoriamente',
img => 'a1f35s41gaf2636s==...',
fechaCancelacion => '2016-01-01T09:34:10'
]

Saludos a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 06/04/2017 16:46:10
Excelente.

Pero que ventajas hay respecto a validar directo del portal frente al Webservice del SAT?
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 06/04/2017 16:49:55
La ventaja es que puedes obtener la fecha de cancelación y una imagen png de la pantalla del SAT con el resultado.

En lo personal tuve muchos problemas con el WS Soap que expone el SAT por lo cual me fui por esta opción.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 06/04/2017 17:04:29
Si, eso debe ser, Yo mismo probé el WS del SAT, a veces si te detecta el estado de validez: si esaá Vigente o No. Pero en algunos casos dice "No identificado". o en muchas ocasiones da un resultado nulo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 19/06/2017 16:50:09
Yo tengo una pregunta, antes que nada déjame decirte que está genial, como procesar todo e inyectas todos los campos al formulario y también resuelves el captcha TODO EN LA MISMA URL.

En base a este método tuyo, se me ocurrió que también podia hacerse con la URL de búsqueda de CFDIs, aunque aun no me sale, excavando el código, trate de pasarle igual los argumentos a la pagina, haciendo esto:

[url]
"https://cfdiau.sat.gob.mx/nidp/app/login?" _
+ "id=20&sid=1&option=credential&sid=1option=credential" _
+ "&Ecom_User_ID="+ "RFCBUSCADO" _
+"&Ecom_Password="+ "CONTRAEÑACIEC" _
+ "&target=https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx" _
+ "?ctl00%24ScriptManager1=ctl00%24MainContent%24UpnlBusqueda%7" _
+ "Cctl00%24MainContent%24BtnBusqueda&__EVENTTARGET=" _
+ "&__EVENTARGUMENT=&__VIEWSTATE=6dyJhFGgH+8qesHd/SVu88VoSgA" _
+ "+6j6j6xIZJkue2Ii7TDFlFwEdjSTzXJ2ExXLeyNNREZviOczEHc0CPML2OcJi+" _
+ "VBM7ycBr69N7NAswWHhwRSfZVGHmStVilb/1cTPOko3cn3irFr74G46dqp5" _
+ "tbHd6+Au3IaCTF3F9l3ANiqxlj2NR4REl3W5rcLbOUP6Se/WJFlcrNwkEJ5YeHa" _
+ "IC8PZ7lw2xuir35NIGiB/elcJomrGYlljIXb9xIFAiR5rEZAweQeNQKXzuGLWtlRLN7" _
+ "ytRWBIJDAMVhWi18C4lLgdSt54u8n1/sbtMNqmgvNAdn9XTfPuixGT8/Oo7t0" _
+ "Cq/TyrY05vBmB6R3V1Km8pxLxgi5kIF6YI1A7L0z5jZOaYoCeAVmGX3R1b3sY" _
+ "4X8Gknd1fWnpYl6BcHjZia2JcneeRX54qR1l6mdVP8YOwE4QccPonuihNZMwb" _
+ "dBsRDLsRmxu/ED0rtn+6IbiaDQ8bZ0z8o6eCWuTu8v2xQ/NbOC+v86TATmWan" _
+ "PvDRmB3VcvB98nH8h18viTShwGl1LUqdWHPUA0R7Bf/6vYX3ygfFOzlOYnd+" _
+ "eAFRoOpEb8N38n0EJ7LIlguPivWb6seuTjbOzli2xfrQ6TKMgPsXAYv/ODeltbUzgU" _
+ "GPbHbR9SLN26mVm2baTw8fxNrHF6zyf/ojM+th+/ja4Y+3oSgWuU/smd6BXNK2" _
+ "a0iYj565mDe67wTesym+Aj3E11/fEJF/IJ7xNbehxDJXOICbk1UmKD9yuDrxJ275" _
+ "Q/gnhlNI+ESGbcadE0bzaCxUl+vPAbmO6/ik64ztkGqeWDxD+E6LIskLA0dkk5DMf" _
+ "M52N9TxoImEFQiOQTuhoED9VYG+K9MSUEbGx72xpNOwn2E0wDRPUKq8JA" _
+ "+/BWWpeQTFRQSkbE5bRvSlQfVyzX2ReKR1EhC7jtwpRks6Y2v/8VkH5nwpyf0H" _
+ "rFEPZ8jOLIAibVkVVw8e2hv7PsxHcYdP1xppAACiHk+/g2IWBohQaZ+cdGwM" _
+ "4DfmBSesQ7QFLB4hCLrxGstgZXWHB22bR3nvhxIRLJBZYadNatHEI1AEA+t21" _
+ "WopYc+prRBHq3wJ6ElwK2dQl21hQCaOm449uC1uZm6uzCavCxyeI7ij1yOjkIyK2s" _
+ "cEmH3jodv+v54KUKCqI1UfG3vG4eQjZ1QkIBq3Jo5/Pz1u41qMTw5udjO+X766ta" _
+ "W79mw8ppyv/exiZpUguhAuWn0KN3TNtv0fuCiGskt7Q5L5YyUXmC2r777ue+Cb+" _
+ "Uld0432M1mmBxspyIukZ2Z0zB9dKhznMj3hgfBDsWJd7qYBGcuuQV7FIbZUk1" _
+ "MeV0C3JYpXv/wvS49XMBF6DjvjyFd1T6trZNOZXU4RhSz0bsdsZi+N9F8MlGyc" _
+ "FutwkMvZ8z/fdM0eRRJe+yCxRNXp0jdb2VXEYThXFvNDkQyTOL7/Oym04iV6e" _
+ "R1Yt8fA1CV7wTJTsNQB3ZClkvRA4biHqcewcF24tpMdZBsAoon6Gaja0RpCHAMD" _
+ "HtUhsX6LCsezexR5Oh8beJDACO0jRpPS2zG+2Vo0pKjXGMO20RpNercjrAJBFYiby" _
+ "lNcwT618JJg6UB0yA5H3ZxkE0qpgD3bjEy/aduF/8sLXSGnVcrlc2WlsUADbF2veSD" _
+ "JxNUcvI2WPgbA9pgE8W3bS2WRDtpSR2QysyWykJVm4t4lhxN8teTIU8Q65t3vGC" _
+ "KV5NmQqCblZ06omCffKgArOKMtvYGKlgaC+XSh/PmaxrlkilPGx/NTVCNxSWhxXw" _
+ "7U1QjT8jryC7CIOvpyuHGBvEFPxJckmwCBsoQN3h5RTdnQ1HCLQdwYA5+2MGLI/" _
+ "C4YNTSBHV1GhdzVw/68IU37eqM/GW70jVsmvBulio/V3JqoaU/7XzUCNUUo3+Ew9Z" _
+ "MdsKQNfqudjZV3hCJkPLpFdMhca+eZkCmz//oTbJ7GrHVu6/nb3jkJLmtAwkTnlLIen8E" _
+ "geXWkY7hLyFsI7duyxTms6Du3h/raCxtPfrO9uZce9stbyNQp0cD3FVCsi1p+Ud1h6hGr" _
+ "e7WH4iNc/Dn3CQpgGoOi2vKAmkyRxAeVvN9QloZomc0t56385aUEn7rwySkhkYn6tok" _
+ "gfwKUubkwp3ANUbRr2SbMKbo/Xcgsy/XCffqKAdBDkcLLhEyrHVwq6T/BQebKwdnPZ" _
+ "gN8Z6dkWAbbIAE6oGlIdBuIkLuqCbyv6GpuxYupGBrKqdKbklkLH+04aVJKybV49MLeY" _
+ "WXYquKZwrJALEMV7hW4x81OFTP5tpTYafCO2h3SKdBgg2WWpf3b5LnG5ul2xd7qpc" _
+ "AVqHn9tjxQXHf0g62ArUFkV3S3M8hFiue4PlaORWE1VDUbPTZJ0PCMBjlKqkV1PU1m5b" _
+ "mCIINhbeX9h8KE9FNQ8Q4pPc9n9wp+f0JmgbrRtTg1qqKx+InsqIo9hY1Se0kQqoqo01sc" _
+ "/N1vULJCRBEi5RRMxdFPhvgXI7IBLbM/jXIUL+FIu7Tc+KKctfTKN5p4pYyqgv0MdKmZhX" _
+ "EKIg4DSkKIy0j/gqLcWDrNNVzEgAN1HYOnmZYFwZzkhmWHdvqpoEoUaqqODzERlOKjX" _
+ "8v5/hctc5cKGZCddkEXNNk9wBnwFow7RZL4KzuyxV+BPprd6MUXo5b5eUKusSlbusms" _
+ "0600u3N+XQY4RCfELOQPsMk0ZQQ+fsdxVIHoHYXLB9L3yWV+oiVbCRRHiBGNDjuLNmIh" _
+ "yPYkzFQQL+AuG2D69AQXyGUCWQ4Tc7sR37mFpJV8q6Yk+St+UhtAGewGWtqKFK3Za" _
+ "96nCGz/qOfyl5AGnIgteRHeVFfnKX6DDeW+Qlb7IIIec8j/mdce4DBgu6LLFS08lAioYD6YOM" _
+ "eUouMY1aoSd1AzObiAjagarl28yR1aE6Zy9AdljVqhvJFS2BVNHGMZ9QZArUTs4BjEsUk2" _
+ "Fuw4qJU0eDoQBk9zlzRX+F48tYtYFwxk/xN3ma7fz5pBhXEMOStAsEqwz5gpG+xw9wjSs" _
+ "7TZdtAba6FNO120a5NdtGSuJgoT1oUkbtQ4vjgubWrZbNPjSM/KtzFTkDhhvnO62MM1wa" _
+ "crAl1Mxy45/TLAgOEDYu+hH8zm0P6diDlXkHrB1/ZUGRAEkt6ovxJ917JvbP/k13APt/7cv" _
+ "8CcS1wdUQqngjoUBsZ63EMURFRdxrWbohqYcVplyf0LFrXOLbDZaoPw3Lm0/DwKXKaJ" _
+ "030mdIOcQYjFqQckCym3cFTGrKVgewXdJ25ikqb+ZTu96qOpdFDeZ7LcPF+gF2ce7Kh8" _
+ "iiyXA2p0MwOMFw+ZF/D8qiYdL5h+8+O2MWUdB35bFVNf5lae7kTBSeRA43Me8XiWzz1" _
+ "fh562Dlw9mcdf47Kyflt5BxjGjAVfrCOxVKpOl32c3vzB6Yu1MtajqFxNuLBJLwBpPqUTpvzZ" _
+ "D3BWsGcpEsLzAUMPJHRVrU0FsixI/anreNXSuLgU9XLsqmU6t8JC4d5PsowICGw+eY5Gz/" _
+ "R/IwBCJvCYCGZbcMpRjJMBOhKLFBtes0DyC1WLPL8prgigmiqXilHgJFoJIT7rDO/" _
+ "WAcLFz3b3+IT3xui775gqSVTPHNmoMx3IKwjo+6ZSVwWS/j+Il1e++zaqqLnaiM6mpvnB" _
+ "wKT+mqRp4IuzoD+YiWWDoS+TE59bo+9+wzVWAvJN7vqV6uwJDDPIs/qUsirhQfTp" _
+ "CyF8BbuE7y/L8e+qvXVzn5K3Bqa5W5LOA/" _
+ "&__VIEWSTATEGENERATOR=FE9DB3F4&__VIEWSTATEENCRYPTED=" _
+ "&ctl00%24MainContent%24TxtUUID=23612983-DAF1-418B-A28E-95CB17E5AF11" _
+ "&__ASYNCPOST=true&ctl00%24MainContent%24BtnBusqueda=Buscar%20CFDI"
[/url]

Como puedes contemplar, está dividido en guiones, ya que así cortamos una cadena de texto cuando es muy grande, para poder mostrarla en varios renglones.

No se si estoy bien o mal, o en que estoy fallando.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 20/04/2017 18:39:22
Hola

Les comparto una API REST que desarrolle para la descarga de CFDIS del SAT.

http://download-api.contabilidad360.com/docs/

Por el momento el servicio no requiere ningún tipo de autenticación ni autorización.

Si pueden probarlo e indicarme si les funciona se los agradecería.

Saludos a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (9 intervenciones) el 21/04/2017 18:16:22
Por un momento te confundí con Microsoft.

"Equipo ¿Para qué pagamos testers para encontrar errores en nuestro SO?, mejor otorguemos licencias temporales y como nos vayan llegando las quejas vamos corrigiendo errores. Una vez pulido vendemos las licencias."

Yo sé que no es tu caso pero me hizo recordar "aquellos" tiempos.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 21/04/2017 18:28:18
Hola.

Creo que para todos aquí es muy claro que puede dejar de funcionar en cualquier momento ya que dependemos del un tercero (SAT).

La librería para descarga masiva yo la puse a su disposición sin ningún fin de lucro.

El servicio solo es un "wrapper" de esa librería como un servicio. obviamente al estar en cloud me genera a mi un costo por el VPS, S3 y todo lo que conlleva. aun así no pedí nada a cambio.

Si alguien le interesa el código del servicio con gusto lo negociamos, es la esencia del open source. para mi gusto pésima confusión con esa empresa que por muchos años estuvo en contra del mismo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 02/05/2017 18:56:46
Buen dia, tal vez no es el foro adecuado pero tiene algo que ver, a alguien de ustedes el pac con el que trabajan les ha comentado algo de lo siguiente:


Es necesario firmar un documento digital mediante tu panel por cada emisor que timbre en 3.3.
Es una requisito nuevo del SAT y de PROFECO de aquí en adelante.
Los precios de timbrado se quedan igual y no cambia nada, solo que por cada emisor, la PROFECO nos obliga a firmar un contrato de servicio directo con el emisor, que tiene un costo de 750 pesos anuales.

Fuera de eso, el mecanismo sigue igual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Aurelio (1 intervención) el 13/05/2017 19:42:49
Este tema del contrato de adhesión es un requerimiento del SAT a los PACS, y básicamente busca establecer que la relación contractual y de servicios es entre el contribuyente y el PAC, buscando evitar la intermediación de terceras partes que no aportan nada y solo elevan el costo final.
Sin embargo, no se de donde salen los 750 pesos, ya que este contrato no representa un costo directo adicional al PAC, solo el costo de implementar el mecanismo para la firma. (ya sea autógrofa por medio de un papel o electrónica).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 13/05/2017 19:53:28
Estaria bien abrir otro foro y publicar un enlace aqui del foro para que los que quieran hablar de ese tema lo sigan alla... Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emma
Val: 12
Ha aumentado su posición en 10 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Emma (6 intervenciones) el 23/05/2017 16:38:53
Buen día

Soy nueva en esto de la programación y me dejaron hacer un programa windows Form C# sobre la descarga masiva de XML, he leído este blog y me parece interesante, incluso encontré algunas cosas de C# pero bueno, tengo mi formulario con un webBrowser y un botón de descarga, pero aun no obtengo el poder Descargarlos.

espero puedas ayudarme u orientarme el como sacar esa descarga, Gracias!

Aquí abajo dejo el código y espero puedan ayudarme, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 26/05/2017 19:28:45
XDD Si ya dejo de funcionar hace rato, parece que ya nos la hicieron estos del SAT, ya se veia venir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 26/05/2017 20:43:30
De hecho ya hicieron varios cambios a la parte donde entras con la fiel de momento no he podido acceder por medio de programación, si alguien sabe se le agradece :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alex de la Rosa (1 intervención) el 26/05/2017 23:54:10
Prueben con esta url

https://cfdiau.sat.gob.mx//nidp/app/login?id=20&sid=1&option=credential&sid=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 27/05/2017 00:45:53
Gracias, de entrada si inicia sesion en el navegador, voy a probar en el webbrowser y te comento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Joel Andujo (2 intervenciones) el 28/05/2017 21:09:27
BDía Alex, gracias te confirmo que si se puede descargar desde la URL que indicas, esperemos que los "genios" del SAT dejen al menos abierta una puerta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Luis (1 intervención) el 29/05/2017 19:42:56
Alex, una pregunta tal vez tonta, el la liga que tu compartes como pasas las credenciales?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 29/05/2017 21:31:15
Hola Luis a esta url no se le pasan credenciales, una vez que entras a esa url debes obtener los elementos Ecom_User_ID Ecom_Password y loginButton2

y hacer algo mas o menos parecido a esto, yo lo hago en C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
_webBrowser.Navigate(new Uri($"https://cfdiau.sat.gob.mx//nidp/app/login?id=20&sid=1&option=credential&sid=1"));
 
            while (_webBrowser.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
 
            if (_webBrowser.Url == new Uri("https://cfdiau.sat.gob.mx//nidp/app/login?id=20&sid=1&option=credential&sid=1"))
            {
 
                var ecomUserId = _webBrowser.Document?.GetElementById("Ecom_User_ID");
 
                if (ecomUserId != null) ecomUserId.InnerText = _empresaRfc;
 
                var ecomPassword = _webBrowser.Document?.GetElementById("Ecom_Password");
 
                if (ecomPassword != null) ecomPassword.InnerText = _password;
 
                var loginButton2 = _webBrowser.Document?.GetElementById("loginButton2");
 
                if (loginButton2 != null) loginButton2.InvokeMember("click");
 
            }
 
            while (_webBrowser.Url == new Uri("https://cfdiau.sat.gob.mx//nidp/app/login?id=20&sid=1&option=credential&sid=1")) Application.DoEvents();
 
            while (_webBrowser.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
 
            _loggedin = _webBrowser.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=1");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Vero (2 intervenciones) el 30/05/2017 17:32:30
thks...................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Alejandro (42 intervenciones) el 30/05/2017 20:14:08
Sabras de pura casualidad como poner de esa misma manera los valores pero en esta pagina?
https://cfdiau.sat.gob.mx/nidp/app/login?id=SATx509Custom&sid=0&option=credential&sid=0

Es decir, poner el .cer y .key, ya que lo he intentado y pone toda la ruta y la pagina del SAT la toma como incorrecta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Darlene (1 intervención) el 05/06/2017 20:34:25
Hola buenas tardes Marco Antonio.

Me podrias decir porfavor en que parte va ese código que compartiste?

Te estaria super agradecida ya que no puedo descargar nada :'(

Besos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Edyth (1 intervención) el 08/06/2017 19:00:41
Hola, yo tambien estoy interesada en obtener la ultima version del codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Vero (2 intervenciones) el 30/05/2017 17:39:11
Mil GRACIAS Alex de la Rosa, estaba en shock!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 05/06/2017 19:03:54
Hola chicos y chicas;

Alguno de ustedes sabe como resolver el problema de credenciales al ingresar al login del SAT para la descarga de XML.

Cada que me pasa lo que hago es resetar el internet explorer y se soluciona temporalmente y despues de unos 3 o 4 dias
vuelve a aparecer.


2017-06-05-11.59.48

Tendrán alguna solución?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Joel Andujo (2 intervenciones) el 05/06/2017 23:02:16
Mariana me imagino que te muestra esa pantalla después de el click al botón login:

webBrowser1.Document.GetElementById("loginButton2").InvokeMember("click");

Yo hago esto después del click al login, dependiendo del tipo de descarga:

if (cTipoXML=="R") url = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx"; // Recibidos
else url = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx"; // Emitidos
webBrowser1.Navigate(url);

espero te sirva, saludos
Joel Andujo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 06/06/2017 02:42:54
Muchas gracias Joel...

Pero el error me lo marca despues de ingresar unas 40 veces a esta url:

https://portalcfdi.facturaelectronica.sat.gob.mx/

al volver a cargarla en la 41 sale el error de credenciales y aún no se porque
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo (88 intervenciones) el 15/06/2017 21:56:30
Descubrí que usando target en la URL directamente te puede mandar directamente a la pagina, claro en caso de que tus credenciales sean correctas:

https://cfdiau.sat.gob.mx/nidp/app/login?id=20&sid=1&option=credential&sid=1option=credential&Ecom_User_ID=XYZ010101W1&Ecom_Password=XX101010&target=https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx


Les dejo esto por si les sirve, a mi me sirvió mucho.
Por otra parte, estoy intentando entrar en la sección de "CertiSAT", para averiguar "LA RAZÓN SOCIAL" de un RFC determinado.
La URL es la siguiente: https://aplicacionesc.mat.sat.gob.mx/certisat/

Por otra parte, veo que también se puede brincar el captcha, haciendo esto, para elegir otra credencial como acceso:
https://loginc.mat.sat.gob.mx/nidp/app/login?id=contrasenia&sid=1&option=credential&sid=1&Ecom_User_ID=MCE0708241W5&Ecom_Password=MG707080&target=https://aplicacionesc.mat.sat.gob.mx/certisat/

Sin embargo no pasa de allí.



Y cuando accedes de esta otra URL, te permite elegir el tipo de credenciales para autenticarte:
https://loginc.mat.sat.gob.mx/nidp/app/login?id=120

Dice que estas credenciales son locales, las doradas excepto la azul, con esa no he probado.

Espero esto le sirva a alguien y alguien quiera aportar para crear algo


Saludos



-----------------

*********nuevas noticias********

Veo que poniendo esta URL, se autentica correctamente y dice que tienes 10 minutos:
https://login.siat.sat.gob.mx/nidp/saml2/sso?id=ptsc-ciec&sid=1&option=credential&sid=1&Ecom_User_ID=XXX0101010X1&Ecom_Password=XX101010


Sin embargo cuando le meto un target ya sea apuntando al sitio de portalcfdi para descargar CFDIs o el portal de CertiSAT, pide de nuevo el login de Captcha:
https://login.siat.sat.gob.mx/nidp/saml2/sso?id=ptsc-ciec&sid=1&option=credential&sid=1&Ecom_User_ID=XXX0101010X1&Ecom_Password=XX101010&target=https://aplicacionesc.mat.sat.gob.mx/certisat/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 23/06/2017 02:52:33
Con la novedad que ya no sirve el acceso con :

https://cfdiau.sat.gob.mx//nidp/app/login?id=20&sid=1&option=credential&sid=1

Alguien tiene una credencial funcional?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo (88 intervenciones) el 23/06/2017 03:31:08
efectivamente la URL anterior no funciona, esta si:
https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=1&option=credential


Como comentaba en otras publicaciones aquí mismo, seria genial si alguien aportara como inyectar todos los parámetros de búsqueda en los controles DOM en la misma URL.

Tal como una vez publicaron un URL para validacfdi en donde se brincar en el Captcha, la idea no es brincarse el captcha, puesto que tenemos URL's alternas, la idea seria copiar el método que hicieron con esa URL y aplicarlo para la descarga de XMLS.

De este modo se ahorrarían muchas lineas de código, obteniendo un código mucho mas limpio y reducido.
Si alguien logra hacerlo, seria genial que lo hiciera saber
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 23/06/2017 03:43:27
Gracias por el aporte!

Y cual seria la ventaja de injectar todo en la url?

Porque el SAT hace validaciones de navegación, y en cada navegación va dejando rastros, si te saltas una cookie
te aparece la ventan de credenciales.

puedes describir más tu idea por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por GERARDO (88 intervenciones) el 23/06/2017 03:58:11
Se supone que para eso esta el Viewstate, EventTarget y EventArgument y ViewStateGenerator.
y esto hace que no dejes rastros y puedas pasar de ventana en ventana sin problemas.

Y pues la ventaja sería que en la misma Url le digas todo los que necesitas obtener de un solo tiro,con una sola instrucción, y solamente te dediques a rescatar los datos de la tabla de resultados, como hacemos todos haciendo webscrapping.

No recuerdo el nombre de la persona que subió la URL del ValidadordeCFDIs y de allisurgió mi inquietud y pienso que es una gran idea.
El usa este principio, inyectar todo en la URL y en el acto recibir los resultados de su búsqueda.

Esta es la URL, que el compartió, incluso creo que había desarrollado una librería en Python:
https://verificacfdi.facturaelectronica.sat.gob.mx/?ctl00%24ScriptManager1=ctl00%24MainContent%24UpnlBusqueda%7Cctl00%24MainContent%24BtnBusqueda&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=XSYWXINYzkqMyAg7BU0bVxd6Ah5zsaE1uO4d5fW6ZGKJvJ%2B%2B3Xj2DaVyi14esMzcNC557M%2FmvGLtRk3KvyUp8DPxwURM%2F%2FysqRQYJ8VX9refDcD2vTnVAew%2Bghu86SpuICsoIJ9BdRuH7jFciEAV11FozYCUv1YPL10aIY2Qx%2FrITOdm7RvaK0mfT153MdODL9uKEvCeMiDf7iAJ%2Fi65mbyIhIyIDe4EFrexUxIm5C7%2FEGHjoUPwiO8u4ufmn%2By%2B056EHK0cPMqaqB1NqyXLkxu%2Ft6u0KN6b5pEDFw6mcQMqz%2Bgk29RiGjmx86h0GAu%2FyRiIdNisZnIIARbnnozrZOYN8llULxw7gPnyiWYm6mun6KSH&__VIEWSTATEGENERATOR=CA0B0334&__VIEWSTATEENCRYPTED=&ctl00%24MainContent%24TxtUUID=2042F2FF-0BB9-4353-BE2D-4AE41CC05CB2&ctl00%24MainContent%24TxtRfcEmisor=SON080721MN7&ctl00%24MainContent%24TxtRfcReceptor=CED130828MJ8&ctl00%24MainContent%24TxTCaptchaNumbers=66740&__ASYNCPOST=true&ctl00%24MainContent%24BtnBusqueda=Verificar%20CFDI

Otra de la ventajas serian:
Obtención mas rapida de resultados
Mejor integración en plataformas web o dispositivos móviles.
Incluso en lenguajes de escritorio el tiempo de respuesta seria mas rápido.


De momento la URL que he intentado hacer es esta, aunque no he tenido éxito.

[url]
https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=1&option=credential&Ecom_User_ID=MCE0708241W5&Ecom_Password=MG707080&target=https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx?ctl00%24ScriptManager1=ctl00%24MainContent%24UpnlBusqueda%7Cctl00%24MainContent%24BtnBusqueda&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=6dyJhFGgH+8qesHd/SVu88VoSgA6j6j6xIZJkue2Ii7TDFlFwEdjSTzXJ2ExXLeyNNREZviOczEHc0CPML2OcJi+VBM7ycBr69N7NAswWHhwRSfZVGHmStVilb/1cTPOko3cn3irFr74G46dqp5tbHd6+Au3IaCTF3F9l3ANiqxlj2NR4REl3W5rcLbOUP6Se/WJFlcrNwkEJ5YeHa
IC8PZ7lw2xuir35NIGiB/elcJomrGYlljIXb9xIFAiR5rEZAweQeNQKXzuGLWtlRLN7ytRWBIJDAMVhWi18C4lLgdSt54u8n1/sbtMNqmgvNAdn9XTfPuixGT8/Oo7t0Cq/TyrY05vBmB6R3V1Km8pxLxgi5kIF6YI1A7L0z5jZOaYoCeAVmGX3R1b3sY
4X8Gknd1fWnpYl6BcHjZia2JcneeRX54qR1l6mdVP8YOwE4QccPonuihNZMwbdBsRDLsRmxu/ED0rtn+6IbiaDQ8bZ0z8o6eCWuTu8v2xQ/NbOC+v86TATmWanPvDRmB3VcvB98nH8h18viTShwGl1LUqdWHPUA0R7Bf/6vYX3ygfFOzlOYnd+
eAFRoOpEb8N38n0EJ7LIlguPivWb6seuTjbOzli2xfrQ6TKMgPsXAYv/ODeltbUzgUGPbHbR9SLN26mVm2baTw8fxNrHF6zyf/ojM+th+/ja4Y+3oSgWuU/smd6BXNK2a0iYj565mDe67wTesym+Aj3E11/fEJF/IJ7xNbehxDJXOICbk1UmKD9yuDrxJ275
Q/gnhlNI+ESGbcadE0bzaCxUl+vPAbmO6/ik64ztkGqeWDxD+E6LIskLA0dkk5DMfM52N9TxoImEFQiOQTuhoED9VYG+K9MSUEbGx72xpNOwn2E0wDRPUKq8JA+/BWWpeQTFRQSkbE5bRvSlQfVyzX2ReKR1EhC7jtwpRks6Y2v/8VkH5nwpyf0H
rFEPZ8jOLIAibVkVVw8e2hv7PsxHcYdP1xppAACiHk+/g2IWBohQaZ+cdGwM4DfmBSesQ7QFLB4hCLrxGstgZXWHB22bR3nvhxIRLJBZYadNatHEI1AEA+t21WopYc+prRBHq3wJ6ElwK2dQl21hQCaOm449uC1uZm6uzCavCxyeI7ij1yOjkIyK2scEmH3jodv+v54KUKCqI1UfG3vG4eQjZ1QkIBq3Jo5/Pz1u41qMTw5udjO+X766taW79mw8ppyv/exiZpUguhAuWn0KN3TNtv0fuCiGskt7Q5L5YyUXmC2r777ue+Cb+
Uld0432M1mmBxspyIukZ2Z0zB9dKhznMj3hgfBDsWJd7qYBGcuuQV7FIbZUk1MeV0C3JYpXv/wvS49XMBF6DjvjyFd1T6trZNOZXU4RhSz0bsdsZi+N9F8MlGycFutwkMvZ8z/fdM0eRRJe+yCxRNXp0jdb2VXEYThXFvNDkQyTOL7/Oym04iV6eR1Yt8fA1CV7wTJTsNQB3ZClkvRA4biHqcewcF24tpMdZBsAoon6Gaja0RpCHAMD
HtUhsX6LCsezexR5Oh8beJDACO0jRpPS2zG+2Vo0pKjXGMO20RpNercjrAJBFYibylNcwT618JJg6UB0yA5H3ZxkE0qpgD3bjEy/aduF/8sLXSGnVcrlc2WlsUADbF2veSDJxNUcvI2WPgbA9pgE8W3bS2WRDtpSR2QysyWykJVm4t4lhxN8teTIU8Q65t3vGC
KV5NmQqCblZ06omCffKgArOKMtvYGKlgaC+XSh/PmaxrlkilPGx/NTVCNxSWhxXw7U1QjT8jryC7CIOvpyuHGBvEFPxJckmwCBsoQN3h5RTdnQ1HCLQdwYA5+2MGLI/
C4YNTSBHV1GhdzVw/68IU37eqM/GW70jVsmvBulio/V3JqoaU/7XzUCNUUo3+Ew9ZMdsKQNfqudjZV3hCJkPLpFdMhca+eZkCmz//oTbJ7GrHVu6/nb3jkJLmtAwkTnlLIen8EgeXWkY7hLyFsI7duyxTms6Du3h/raCxtPfrO9uZce9stbyNQp0cD3FVCsi1p+Ud1h6hGr
e7WH4iNc/Dn3CQpgGoOi2vKAmkyRxAeVvN9QloZomc0t56385aUEn7rwySkhkYn6tokgfwKUubkwp3ANUbRr2SbMKbo/Xcgsy/XCffqKAdBDkcLLhEyrHVwq6T/BQebKwdnPZgN8Z6dkWAbbIAE6oGlIdBuIkLuqCbyv6GpuxYupGBrKqdKbklkLH+04aVJKybV49MLeY
WXYquKZwrJALEMV7hW4x81OFTP5tpTYafCO2h3SKdBgg2WWpf3b5LnG5ul2xd7qpcAVqHn9tjxQXHf0g62ArUFkV3S3M8hFiue4PlaORWE1VDUbPTZJ0PCMBjlKqkV1PU1m5bmCIINhbeX9h8KE9FNQ8Q4pPc9n9wp+f0JmgbrRtTg1qqKx+InsqIo9hY1Se0kQqoqo01sc
/N1vULJCRBEi5RRMxdFPhvgXI7IBLbM/jXIUL+FIu7Tc+KKctfTKN5p4pYyqgv0MdKmZhXEKIg4DSkKIy0j/gqLcWDrNNVzEgAN1HYOnmZYFwZzkhmWHdvqpoEoUaqqODzERlOKjX8v5/hctc5cKGZCddkEXNNk9wBnwFow7RZL4KzuyxV+BPprd6MUXo5b5eUKusSlbusms0600u3N+XQY4RCfELOQPsMk0ZQQ+fsdxVIHoHYXLB9L3yWV+oiVbCRRHiBGNDjuLNmIh
yPYkzFQQL+AuG2D69AQXyGUCWQ4Tc7sR37mFpJV8q6Yk+St+UhtAGewGWtqKFK3Za96nCGz/qOfyl5AGnIgteRHeVFfnKX6DDeW+Qlb7IIIec8j/mdce4DBgu6LLFS08lAioYD6YOMeUouMY1aoSd1AzObiAjagarl28yR1aE6Zy9AdljVqhvJFS2BVNHGMZ9QZArUTs4BjEsUk2
Fuw4qJU0eDoQBk9zlzRX+F48tYtYFwxk/xN3ma7fz5pBhXEMOStAsEqwz5gpG+xw9wjSs7TZdtAba6FNO120a5NdtGSuJgoT1oUkbtQ4vjgubWrZbNPjSM/KtzFTkDhhvnO62MM1wacrAl1Mxy45/TLAgOEDYu+hH8zm0P6diDlXkHrB1/ZUGRAEkt6ovxJ917JvbP/k13APt/7cv8CcS1wdUQqngjoUBsZ63EMURFRdxrWbohqYcVplyf0LFrXOLbDZaoPw3Lm0/DwKXKaJ030mdIOcQYjFqQckCym3cFTGrKVgewXdJ25ikqb+ZTu96qOpdFDeZ7LcPF+gF2ce7Kh8iiyXA2p0MwOMFw+ZF/D8qiYdL5h8+O2MWUdB35bFVNf5lae7kTBSeRA43Me8XiWzz1fh562Dlw9mcdf47Kyflt5BxjGjAVfrCOxVKpOl32c3vzB6Yu1MtajqFxNuLBJLwBpPqUTpvzZD3BWsGcpEsLzAUMPJHRVrU0FsixI/anreNXSuLgU9XLsqmU6t8JC4d5PsowICGw+eY5Gz/R/IwBCJvCYCGZbcMpRjJMBOhKLFBtes0DyC1WLPL8prgigmiqXilHgJFoJIT7rDO/WAcLFz3b3+IT3xui775gqSVTPHNmoMx3IKwjo+6ZSVwWS/j+Il1e++zaqqLnaiM6mpvnBwKT+mqRp4IuzoD+YiWWDoS+TE59bo+9+wzVWAvJN7vqV6uwJDDPIs/qUsirhQfTpCyF8BbuE7y/L8e+qvXVzn5K3Bqa5W5LOA/&__VIEWSTATEGENERATOR=FE9DB3F4&__VIEWSTATEENCRYPTED=ctl00%24MainContent%24FiltroCentral=RdoFechas&ctl00%24MainContent%24TxtUUID=23612983-DAF1-418B-A28E-95CB17E5AF11&__ASYNCPOST=true&ctl00%24MainContent%24BtnBusqueda=Buscar%20CFDI
[/url]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 23/06/2017 04:03:37
Hola soy yo quien subió la librería con la URL, y ya estoy trabajando en lo que mencionas y al parecer hay buenos resultados. Les comento en cuanto finali las pruebas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo (88 intervenciones) el 23/06/2017 04:06:33
Cesar
Mis respetos.
La verdad en cuanto lo probé, me quedé sin aliento, esa idea es muy genial y de inmediato pude hacer webscrapping en mi lenguaje de programación.
La verdad fue un gran aporte,muchas gracias

Mas que nada porque el webservice de validación del SAT dejó gradualmente de funcionalmente, sin contar que tenia muchos errores.

Y este portal es muy preciso y obtienes muchos datos de la factura como la fecha de cancelación cuando está cancelado el comprobante


Por otra parte es genial saber que si se puede aplicar a la descarga de XMLs.
Saludos :D :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 23/06/2017 15:24:01
Muchas gracias por el aporte de verdad excelente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 24/06/2017 18:35:38
Excelente aporte;

pero habra que ir ideando que hacer cuando SAT bloquee todas los accesos donde no pide CAPTCHA.

*Se tendra que recurrir al webscraping tradiconal

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 24/06/2017 18:49:47
Hola,

Con la librería que compartí "sat-scraper" ya tengo solucionado la parte del captcha. El problema es que es un servicio de terceros en la india que me cobra 1 centavo de dolar por captcha pero dependiendo el negocio puede ser conveniente (Mientras las url alternativas funcionen evitare usarlo.)

Para no depender de terceros he estado trabajando con un OCR e imagemagick para resolución pero hasta el momento resuelve un 40% de los captchas que le paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de C.P. Daviel Ocampo Aparicio
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por C.P. Daviel Ocampo Aparicio (13 intervenciones) el 25/06/2017 01:50:08
Que tal, buena tarde desde Cuernavaca, Morelos, yo ya probé todos los "links" para entrar y descargar, todos funcionaron en su momento, no soy programador, pero...que no es posible "simplemente" capturar el CAPTCHA desde el propio formulario (en vb Net)?, es decir, alguien con mayor conocimiento no podria postear en que parte del código iria el captcha?...algo como esto:

1
2
Dim strUri As String = String.Format("https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0& Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar", _
RFCTxb.Text.Trim, PasswordTxb.Text, CaptchaTxb.Text.Trim)

Eh logrado que el captcha que pide el SAT aparezca en mi formulario listo para que el usuario lo teclee, pero no sé como plasmarlo en la cadena arriba citada para logearse en la pagina y pasar a los parámetros de descarga.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 25/06/2017 04:41:26
Simplemente Pégalo en contra ok e invoca e invoca e
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 25/06/2017 06:15:55
Hola!

Hay formas

Opcion 1.-La básica es crear 3 textbox, txtRfc, txtClave, y txtCapcha, un webBrowswer1, y un button
Invoca a la pagina principal del SAT donde pide logeo y en tu boton pon este codigo:

Dim url As String
url = "https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=" & Me.txtRfc.Text & "&Ecom_Password=" & Me.txtClave.Text & "&jcaptcha=" & Me.txtCapcha.Text & "&submit=Enviar"
WebBrowser1.Navigate(la_url, "_self", Nothing, "User-Agent: Luke's Web Browser")

Opción 2:
Hasle Scraping al webbrowser y obten la imagen y guardala en un picture, y muestrasela a tu usuario donde gustes


Opcion 3:
Que hasta ahora nadie en este foro ha podido hacer, es enviar al SAT captchas propios


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daviel
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Daviel (13 intervenciones) el 25/06/2017 17:37:17
Que tal José, gracias por la respuesta, solo tengo la curiosidad de a que te refieres con "Pégalo en contra" e "invoca, invoca, ...", y, por supuesto Mariana, a eso es a lo que me refiero, solo la parte de de crear un "WebBrowser" quieres decir que tengo que hacer otra interfaz diferente en mi formulario?.

Saludos y gracias de antemano por sus respuestas.

Daviel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 25/06/2017 17:48:12
Hola mariana

La opción 3 no me queda clara, me podrías dar un ejemplo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daviel
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Daviel (13 intervenciones) el 25/06/2017 17:54:13
Mariana, ya lo medio comprendí, gracias por el tip, lo probaré y te cuento.

Saludos,

Daviel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daviel
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Daviel (13 intervenciones) el 25/06/2017 18:59:20
Que tal Mariana...definitivamente no puedo, mi proceder es el siguiente:

AQUI ME LOGEO (Ya con el CAPTCHA):
1
2
3
4
Dim StrUrl As String = String.Format("https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=4&option=credential&sid=4&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar", RFC, PassCIEC, CaptchaTxb.Text)
Dim Url As New Uri(StrUrl)
Call Message(String.Format(vbNewLine + "Proceso de validación... "))
WebBrw.Navigate(Url)

LUEGO:
1
2
3
4
5
6
7
8
9
10
11
12
If WebBrw.Url = New Uri("https://cfdiau.sat.gob.mx/nidp/wsfed/ep?sid=4") Then
     Call Message(String.Format("Usuario {0} Autenticado correctamente.", RFC))
     If cfdirecibidos = "True" Then  'Para documentos Recibidos
         WebBrw.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx")
     End If
     If cfdiemitidos = "True" Then  'Para documentos Emitidos
         WebBrw.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx")
     End If
End If
If WebBrw.Url = New Uri("https://cfdiau.sat.gob.mx/nidp/app/login?sid=4&sid=4") Then
    Call Message("Clave CIEC incorrecta, favor de verificar RFC y Clave.")
End If

La parte NEGRITA es donde no me queda claro si lo estoy haciendo bien, si no me estoy explicando correctamente en mi problema por favor hazmelo (o haganmelo saber).

No entiendo bien el HTML ni su lógica o algoritmos, una disculpa por ello.

Espero puedan ayudar.

Saludos y gracias de antemano.

Daviel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 02/07/2017 02:53:19
Que tal colegas

Como ya sabran algunos de ustedes la URL que se uso para logearse sin usar el captcha de Febrero a Mayo fue la siguiente

1
2
3
string strUri = string.Format("https://cfdiau.sat.gob.mx/nidp/app/login?id=mat-ptsc-cont&sid=0&option=credential&sid=0&Ecom_User_ID={0}&Ecom_Password={1}&submit=Enviar", gUsuario.Trim().ToUpper(), gPassword.Trim());
Uri uri = new Uri(strUri);
this._wbSat.Navigate(uri);

Con el Apoyo de Marco Antonio pude volver a parchar el programa y ya se puede logear y descargar masivamente los xml .
desde el SAT sin usar el captcha.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Nueva URL para no usar el captcha del 30 Mayo 2017 
String url = "https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=1&option=credential";
 
_wbSat.Navigate(new Uri(url));
while (_wbSat.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
 
if (_wbSat.Url == new Uri(url))
{
    var ecomUserId = _wbSat.Document.GetElementById("Ecom_User_ID");
    if (ecomUserId != null) ecomUserId.InnerText = gUsuario.Trim().ToUpper();
 
    var ecomPassword = _wbSat.Document.GetElementById("Ecom_Password");
    if (ecomPassword != null) ecomPassword.InnerText = gPassword.Trim();
 
    var loginButton2 = _wbSat.Document.GetElementById("loginButton2");
    if (loginButton2 != null) loginButton2.InvokeMember("click");
 
}
 
while (_wbSat.Url == new Uri(url)) Application.DoEvents();
while (_wbSat.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
 
bool _loggedin = _wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=1");
// Nueva URL para no usar el captcha del 30 Mayo 2017

Les dejo de nueva cuenta el NUEVO link para que descarguen el programa completo ya con el parche de la nueva URL
Además se los adjunto a este post.
El programa esta desarrollado en VS2010 en C#

https://drive.google.com/open?id=0B5GCbAM5Q4rLVi1TTzFTa2lVRlU

LA VERDAD YO NO DOMINO MUCHO LA CLASE WEBBROWSER Y CLASES COLATERALES ... POR ESO NO HE PODIDO RESOLVER EL LOGEO USANDO EL CAPTCHA.

AHORA YO LES PEIDO SU APOYO ...
ESTAS URL QUE NO USAN EL CAPTCHA NO DURAN. NO SE CUANTOS MESES VA A DURAR ESTE PARCHE.
ME PUDIERAN AYUDAR ... ME PUDIERAN PASAR LA RUTINA DONDE SE OBTIENEN EL CAPTCHA Y EL USAURIO LO TECLEA
Y DE ALGUNA MANERA SE INYECTA EN LA URL PARA LOGEARSE


De antemano les agradesco su ayuda.
[email protected]

Saludos.
Monterrey,
Nuevo León.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daviel
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Daviel (13 intervenciones) el 03/07/2017 18:58:45
Que tal Halcón, esta rutina la obtuve navegando en la web y funciona, necesitas un PictureBox y un control Webbrowser (oculto si lo deseas) en tu Form:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Public Sub AbrirUrl(ByVal Url As String)
    Me.Cursor = Cursors.WaitCursor
    Application.DoEvents()
    Try
        CFDISatWBrw.Navigate(Url, False)
        While CFDISatWBrw.ReadyState <> WebBrowserReadyState.Complete
            Application.DoEvents()
        End While
        Dim Doc As mshtml.IHTMLDocument2 = CFDISatWBrw.Document.DomDocument
        Dim ImgRng As mshtml.IHTMLControlRange = CType(Doc.body, mshtml.HTMLBody).createControlRange
        For Each Img As mshtml.IHTMLImgElement In Doc.images
            If Img.getAttribute("src").ToString.Contains("../jcaptcha.jpg") Then
                ImgRng.add(Img)
                ImgRng.execCommand("Copy", False, Nothing)
                CaptchaPBox.Image = Clipboard.GetDataObject.GetData(DataFormats.Bitmap)
            End If
        Next Img
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Navigate Error",
            MessageBoxButtons.OK,
                MessageBoxIcon.Exclamation)
    End Try
    Me.Cursor = Cursors.Default
End Sub

Luego en otra subrutina plasmar este otro (con el que te logueas):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub EntrarTStpBtn_Click(sender As Object, e As EventArgs) Handles EntrarTStpBtn.Click
    If CaptchaTxb.Text = Nothing Then
        MsgBox("Debe escribir la clave de la imagen")
        CaptchaTxb.Focus()
        Exit Sub
    End If
    Try
        With CFDISatWBrw
            .Document.GetElementsByTagName("input").GetElementsByName("Ecom_User_ID").Item(0).SetAttribute("value", PblRFC)
            .Document.GetElementsByTagName("input").GetElementsByName("Ecom_Password").Item(0).SetAttribute("value", DatoEmpresa("DatPassCIEC").Trim)
            .Document.GetElementById("jcaptcha").SetAttribute("value", CaptchaTxb.Text)
            .Document.GetElementById("submit").InvokeMember("click")
        End With
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try
End Sub

Tambien pon una subrutina DocumentCompleted propia del control Webrowser, esto para verificar que el logueo haya sido exitoso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub CFDISatWBrw_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles CFDISatWBrw.DocumentCompleted
    Dim HtmlElem As HtmlElementCollection = CFDISatWBrw.Document.All
    Dim Bnd As Boolean = False
    For Each Elem As HtmlElement In HtmlElem
        If Elem.Id = "ctl00_LblRfcAutenticado" Then
            Bnd = True
            Exit For
        End If
    Next Elem
    If Bnd = True Then
        MsgBox("Usuario Autenticado")
    Else 'Recarga nuevamente la página
        Dim Doc As mshtml.IHTMLDocument2 = CFDISatWBrw.Document.DomDocument
        Dim ImgRng As mshtml.IHTMLControlRange = CType(Doc.body, mshtml.HTMLBody).createControlRange
        For Each Img As mshtml.IHTMLImgElement In Doc.images
            If Img.getAttribute("src").ToString.Contains("../jcaptcha.jpg") Then
                ImgRng.add(Img)
                ImgRng.execCommand("Copy", False, Nothing)
                CaptchaPBox.Image = Clipboard.GetDataObject.GetData(DataFormats.Bitmap)
            End If
        Next Img
    End If
End Sub

En caso de no ser exitoso se actualiza la página del SAT con un nuevo Captacha.

Una vez logueado el usuario ya puede plasmar los parámetros de descarga.

Como puedes ver lo tengo en VB.

Pruebalo y me cuentas, ojalá podamos intercambiar código ya que la rutina que uso me descarga dos veces los documentos.

Saludos,
C.P. Daviel Ocampo A.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 03/07/2017 19:17:02
Daviel
Gracias

Déjame traducirlo a C# y ver como lo integro al proyecto que ya tengo ... De hecho es el que acabo de postear mas arriba.

No soy experto en la clase webbrowse y clases colaterales ... estoy aprendiendo sobre la marcha.

Este proyecto que posté si jala ..... No requiere de captcha para descargar en forma masiva los xml pero se que no va a durar ... el SAT va a tumbar las url y ya no va a funcionar por eso quiero agregarle al proyecto la captura del captcha y espero que con eso ya solucionar en forma definitiva el problema.


Daviel .si quieres. descarga el programa que posté y úsalo y me dices como to viste.


Mil Gracias y estamos en contacto
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de C.P. Daviel
Val: 30
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por C.P. Daviel (13 intervenciones) el 03/07/2017 20:21:21
Que tal Halcon, en esta parte del código no entra:

1
2
3
4
if (this._wbSat.Document != null)
{
    if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0")) 'AQUI
    {

Cuando el logueo era sin captcha no habia problema, ahora con captcha lo quite ya que con el BOTON "Entrar" de mi forma me logueo y ya no tengo que poner esta condición, PEROOO... ahora me descarga dos veces:

AQUI ENTRA A RECIBIDOS:
1
2
3
4
5
6
7
WebBrw.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx")
If WebBrw.Url.ToString = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx" Then
    Select Case True
        Case MesRbtn.Checked
            For i = MesIni To MesFin
                Call Message(String.Format(vbNewLine + "Procesando documentos recibidos del ejercicio {0}, Mes {1} ...", Ejercicio, i))
                GetReceivedDocuments(Ejercicio, i)

AQUI VERIFICA QUE ESTE EN EL DOCUMENTO "RECIBIDOS" (supongo)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
If WebBrw.Document IsNot Nothing Then
    Dim elementById As HtmlElement = WebBrw.Document.GetElementById("ctl00_MainContent_RdoFechas")
    If elementById IsNot Nothing Then
        elementById.InvokeMember("click")
        Call Message(String.Format(vbNewLine + "Procesando documentos recibidos del ejercicio {0}, Mes {1} ...", year, month))
    End If
    While True
        flag = True
        Application.DoEvents()
        Dim htmlElement As HtmlElement = WebBrw.Document.GetElementById("DdlAnio")
        flag1 = (If(htmlElement Is Nothing, True, Not (htmlElement.GetAttribute("disabled") <> "disabled")))
        If Not flag1 Then
            Exit While
        End If
    End While

Es en esta parte donde vuelve a entrar aqui:

1
2
WebBrw.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx")
If WebBrw.Url.ToString = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx" Then

y vuelve a descargar.

Ya debuguie (espero este bien escrito) y en el Application.DoEvents() se sale y regresa a "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx" obvio no comprendo que hace, lamentablemente tu codigo y desarrollo (excelente por cierto) no es igual al que tengo y no puedo comparar donde esta el problema ya que utilizo la sesión ya abierta del Webbrowser con captcha.

No sé si me explica, ojalá haya alguien que pueda orientarnos al respecto...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 03/07/2017 20:49:56
Hola Mariana.

Tu te refieres al URL del validador de facturas, que te hice mención, pero QUE NO ES MIO, lo publicó originalmente Cesar Aguilera, junto con una librería escrita en Python que el mismo programó.

Y tienes mucha razón, hoy mismo quise validar CFDIs con mi librería que escribí en mi lenguaje de programación usando la URL de Cesar.
y nada, no arroja ninguna respuesta.

Ahora si ya valió.


Y respecto a la URL de descarga si sigue siendo la misma, ahora mismo estoy descargando CFDIs
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 04/07/2017 19:17:43
DAVIEL

Ya probe el código que posteaste en VB.net y SI FUNCIONA
No he podido traducir del todo el código VB a C# mucho menos integrarlo al proyecto de descargas de xml.

Este código donde se obtiene el Captcha es donde ando atorado.

1
2
3
4
5
6
7
8
9
Dim Doc As mshtml.IHTMLDocument2 = CFDISatWBrw.Document.DomDocument
Dim ImgRng As mshtml.IHTMLControlRange = CType(Doc.body, mshtml.HTMLBody).createControlRange
For Each Img As mshtml.IHTMLImgElement In Doc.images
    If Img.getAttribute("src").ToString.Contains("../jcaptcha.jpg") Then
        ImgRng.add(Img)
        ImgRng.execCommand("Copy", False, Nothing)
        CaptchaPBox.Image = Clipboard.GetDataObject.GetData(DataFormats.Bitmap)
    End If
Next Img

Y este seria el código equivalente en C#

1
2
3
4
5
6
7
8
9
10
11
mshtml.IHTMLDocument2 Doc = (mshtml.IHTMLDocument2) this._wbSat.Document.DomDocument;
mshtml.IHTMLControlRange ImgRng = (mshtml.IHTMLControlRange)((mshtml.HTMLBody)Doc.body).createControlRange();
foreach (mshtml.IHTMLImgElement Img in Doc.images)
{
    if (((mshtml.IHTMLElement)Img.getAttribute("src")).ToString().Contains("../jcaptcha.jpg"))
    {
        ImgRng.add((mshtml.IHTMLControlElement)Img);
        ImgRng.execCommand("Copy", false, null);
        this.pictureBox1.Image = (System.Drawing.Image)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
    }
}

Esta es la instrucción donde me marca error
1
((mshtml.IHTMLElement)Img.getAttribute("src")).ToString().Contains("../jcaptcha.jpg")

El error es que el atributo getAttribute no existe ... ya le busque en google y reportan el mismo error pero no encuentro solución.



Alguien que me pudiera dar la mano para capturar el captcha en un picturebox. en C#
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 05/07/2017 19:00:37
Hola apenas vi tu mensaje.

deja ver si lo puedo arreglar y se los paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por David (19 intervenciones) el 05/07/2017 19:01:02
Nosotros estabamos en algo parecido, solo que tuve que dejarlo por otras cosas de momento, te dejo el codigo para copiar en visual basic, funciona en c# solo pásalo:

1
2
3
4
5
6
7
8
Dim HTMLDoc As mshtml.IHTMLDocument2 = DirectCast(MWB.Document.DomDocument, mshtml.IHTMLDocument2)
Dim ImgRange As mshtml.IHTMLControlRange = DirectCast(DirectCast(HTMLDoc.body, mshtml.HTMLBody).createControlRange(), mshtml.IHTMLControlRange)
Dim CaptchaElement As mshtml.HTMLImg
 
CaptchaElement = DirectCast(HTMLDoc.images(1), mshtml.HTMLImg)
ImgRange.add(DirectCast(CaptchaElement, mshtml.IHTMLControlElement))
ImgRange.execCommand("Copy")
Picturebox1.Image = Clipboard.GetImage

EDITO: Requiere referencia a Microsoft.mshtml
Aunque bueno, esto ya estaba mas arriba, almenos tomense la molestia de leer los post anteriores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 05/07/2017 19:27:59
Ahi esta el codigo.
saludos.

1
2
3
4
5
6
7
8
9
var reqImg = (HttpWebRequest)WebRequest.Create("https://cfdiau.sat.gob.mx/nidp/jcaptcha.jpg");
reqImg.CookieContainer = new CookieContainer();
reqImg.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2";
var resImg = (HttpWebResponse)reqImg.GetResponse();
var cookies = resImg.Cookies;
var imagestream = reqImg.GetResponse().GetResponseStream();
var bmp = Image.FromStream(imagestream);
imagestream.Dispose();
picboxCaptcha.Image = bmp;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 05/07/2017 20:17:48
JOSE


SI funcionó .....Ya pude desplegar el Captcha en el picturebox del windows form

Teno duda en donde poner este método
Lo pongo en el evento browser_DocumentCompleted para asegurar que cuando se carga la pagina la imagen es la ultima desplegada

Estoy en lo correcto ??
O donde debería de ir ???


Primero llamo la pagina
1
2
3
String url = "https://portalcfdi.facturaelectronica.sat.gob.mx/";
                _wbSat.Navigate(new Uri(url));
                while (_wbSat.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();

Este evento se ejecuta cuando se carga termina de la pagina

1
2
3
4
5
6
7
8
9
10
11
12
void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
 
            var reqImg = (HttpWebRequest)WebRequest.Create("https://cfdiau.sat.gob.mx/nidp/jcaptcha.jpg");
            reqImg.CookieContainer = new CookieContainer();
            reqImg.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.106 Safari/535.2";
            var resImg = (HttpWebResponse)reqImg.GetResponse();
            var cookies = resImg.Cookies;
            var imagestream = reqImg.GetResponse().GetResponseStream();
            var bmp = Image.FromStream(imagestream);
            imagestream.Dispose();
            this.pictureBox1.Image = bmp;


Ya que se despliega la imagen el usuario captura el RFC, CIEC y Capycha

Terminada la captura dándole click a algún botón de continuar debería de navegar a esta url

1
2
url = "https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=" & Me.txtRfc.Text & "&Ecom_Password=" & Me.txtClave.Text & "&jcaptcha=" & Me.txtCapcha.Text & "&submit=Enviar"
wbSat.Navigate(new Uri(url));

Es correcto ???
Voy bien o ando perdido ???







}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 05/07/2017 22:25:01
si en teoria debe ser asi tomando la ultima.

este es el ultimo intento que alcance a hacer pero en algun momento no entra a la sesión y refresca la liga... .(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 06/07/2017 01:41:32
Jose

Ya descargue el proyecto.

Y ya lo estuve analizando y viendo y probando. .. Pero no puedo descargar los xml.

De jamete tratar de explicarme.... Espero no revolverte.

Al iniciar el proyecto se va a la url con el método GotoInitalWeb()

https://pacsat.facturaelectronica.sat.gob.mx

la cual en automático te manda a la url

https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=1&option=credential&sid=1

una vez cargada la pagina se carga el captcha con la rutina que posteaste anteriormente.

Se captura el RFC, CIEC y CAPTCHA

Al darle click al botón Descargar se forma la siguiente url

string strUri = "https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=" + gUsuario.Trim().ToUpper() + "&Ecom_Password=" + gPassword.Trim() + "&jcaptcha=" + gCaptcha + "&submit=Enviar";
Uri uri = new Uri(strUri);
this._wbSat.Navigate(uri);

Y se navega a esta url ... y aquí es donde esta el problema.

NO SE QUE PASA pero esta url no nos pasa o no brinca a la siguiente url ...https://portalcfdi.facturaelectronica.sat.gob.mx/

se queda en la url que se armo con el rfc , ciec y captcha algo como esta

https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID=EGO980817DF3&Ecom_Password=XXXXXXXX&jcaptcha=tw8ping&submit=Enviar


PORFA... Si me pudieran ayudar ...


Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 06/07/2017 19:51:59
Halcon, ya inicia sesión pero me manda a una pagina donde entra a terminos y condiciones del portal, no ubico como moverme de ahi. a ver si le avanzas otro poco.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/07/2017 23:25:55
LO QUE YO RECOMENDARIA ES:

1.-PRIMERO CARGAR LA PAGINA PRINCIPAL PARA INGRESAR CON CLAVE CIEC
2.-OBTENER EL CAPCHA EN UN PICTUR DESPUES DE CARGADA LA PAGINA
3.-VACIAR LOS DATOS OBTENIDOS DE LOS TEXTBOX A LOS CONTROLES DE LA PAGINA
4.- CLICK EN EL BOTON ENVIAR.

Y ASI PONDER ENTRAR A LA PAGINA CON CAPCHA, YA QUE DIRECTAMENTE DESDE EL LINK ES MAS COMPLICADO RESOLVER YA QUE REFERENCIA A TERMINOS Y CONDICIONES DEL USO DE FACTURACION ELECTRONICA POR MEDIO DEL PORTAL DEL SAT, ESPERO AYA SIDO DE SU AYUDA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (88 intervenciones) el 07/07/2017 23:48:59
porque no pruebas a usar target en la url??

&target =htto:blblblblabla
es decir cargar la pagina final la de recibidos o enviados después de target, así sabrá hacia donde debe dirigirse si el login es correcto, prueba, podría funcionar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 08/07/2017 02:55:20
SI, intente redireccionar como comentas pero me regresa, si o si a términos y condiciones. :( y también int enter así como como coments Rafael, pero me refresca el captacha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 11/07/2017 00:57:35
alguien me puede ayudar en esta parte de código

Using Dim xmlReader As XmlReader = xmlReader.Create(archivoXML)


me dice que se esperaba una expresión a que se debera
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 14/07/2017 18:32:19
Hola a todos;

Estoy interesada en comprar codigo fuente php que arme CFDI 3.3, NOMINA 1.2, PAGOS 1.0

Armado del XML y Firmado con el CSD, sin envío al PAC.

Si alguno de aqui tiene codigo favor de contactarme a [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 14/07/2017 18:35:55
R:

Using Dim xmlReader As XmlReader = xmlReader.Create(archivoXML)


Guillermo, necesitas Agregar los namespaces o el tag del XML
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 20/07/2017 00:44:33
Buenas tardes amigos, una pregunta alguien tendrá una aplicación para extraer los nodos de los XML, en la programación que tengo no me pasa la información a Excel por favor ayuda si alguien me pueda ayudar

1
2
3
4
5
6
7
8
9
10
11
12
13
Public Sub WriteCell(row As Integer, col As Integer, value As String)
    Dim expr_07 As UShort() = New UShort(5) {}
    expr_07(0) = 516US
    Dim array As UShort() = expr_07
    Dim length As Integer = value.Length
    Dim bytes As Byte() = Encoding.ASCII.GetBytes(value)
    array(1) = CUShort((8 + length))
    array(2) = CUShort(row)
    array(3) = CUShort(col)
    array(5) = CUShort(length)
    Me.WriteUshortArray(array)
    Me.writer.Write(bytes)
End Sub


si alguien puede compartir alguna manera de extraer los nodos y pasarlos a Excel se los agradecería
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 20/07/2017 05:29:52
HOLA BUEN DIA MARIANA YO CUENTO CON LO QUE NECRESITAS EN PHP, CUALQUIER DUDA ME PUEDES ESCRIBIR A [email protected].
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 20/07/2017 05:36:08
hice lo del target y no me lleva, alguien ya lo tiene?, cuando quiero asignar los valores a los input y dar clic al boton quien sabe que pasa que no lo lleva :(. Ayuda!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 21/07/2017 23:48:58
Alguien podria apoyarme con la extraccion de nodos de un xml por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 22/07/2017 10:17:03
ESTE TE PODRA AYUDAR A COMO EXTRAER LOS NODOS DE EJEMPLO DEL CFDI:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub LeerDatos()
    Dim FlujoReader As Xml.XmlTextReader = Nothing
    Dim i As Integer
    ' leer del fichero e ignorar los nodos vacios
    FlujoReader = New XmlTextReader(ModuloGeneral.CarpetaAlmacenXML & "\" & SeriePrefijo & String.Format("{0:000000}", Convert.ToInt32(TxtFactura.Text)) & ".xml")
    FlujoReader.WhitespaceHandling = WhitespaceHandling.None
    ' analizar el fichero y presentar cada nodo
    While FlujoReader.Read()
        Select Case FlujoReader.NodeType
            Case XmlNodeType.Element
                If FlujoReader.Name = "cfdi:Comprobante" Then
                    For i = 0 To FlujoReader.AttributeCount - 1
                        FlujoReader.MoveToAttribute(i)
                        If FlujoReader.Name = "total" Then
                            Total = FlujoReader.Value
                        End If
                    Next
                    Total = Format(Convert.ToDouble(Total), "0000000000.000000")
                ElseIf FlujoReader.Name = "cfdi:Emisor" Then
                    For i = 0 To FlujoReader.AttributeCount - 1
                        FlujoReader.MoveToAttribute(i)
                        If FlujoReader.Name = "rfc" Then
                            RFCEmisor = FlujoReader.Value
                        End If
                    Next
                ElseIf FlujoReader.Name = "cfdi:Receptor" Then
                    For i = 0 To FlujoReader.AttributeCount - 1
                        FlujoReader.MoveToAttribute(i)
                        If FlujoReader.Name = "rfc" Then
                            RFCReceptor = FlujoReader.Value
                        End If
                    Next
                ElseIf FlujoReader.Name = "tfd:TimbreFiscalDigital" Then
                    For i = 0 To FlujoReader.AttributeCount - 1
                        FlujoReader.MoveToAttribute(i)
                        If FlujoReader.Name = "UUID" Then
                            UUID = FlujoReader.Value
                        End If
                    Next
                End If
        End Select
    End While
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 22/07/2017 15:53:01
Muchas gracias podrias compartir los modulos por favor para saber como haces la declaracion de verdad agradesco infinitamente tu apoyo espero puedas comnpartir tu proyecto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/07/2017 17:47:14
JOSE

Ya hice varios intentos con la ultima version que posteastes del proyecto en C#
Pero igual que a ti me manda a una pagina de Términos y Condiciones.

Intente asignarle directamente los valores

1
2
3
4
5
6
_wbSat.Document.GetElementsByTagName("input").GetElementsByName("Ecom_User_ID")[0].SetAttribute("value",
 
cmbAccount.Text.Trim());
_wbSat.Document.GetElementsByTagName("input").GetElementsByName("Ecom_Password")[0].SetAttribute("value", txtPassword.Text.Trim());
_wbSat.Document.GetElementById("jcaptcha").SetAttribute("value", txtCaptcha.Text.Trim());
_wbSat.Document.GetElementById("submit").InvokeMember("click");

A pesar de que estaba en la pagina de términos y condiciones intente forzar la navegación a las paginas de recepción
https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx
pero no funciona.


Ya debugee línea por línea pero no veo como resolver el problema

JOSE Gracias por el aporte de como desplegar el CAPTCHA en la WINDOWS FORM ...pero a pesar de que ya tengo el captcha no contaba con este problema que cuando uno se logeate manda a la pagina de términos y condiciones.

La verdad ya le he dedicado una muy buena cantidad de horas y días y no puedo resolver este problema.

AYUDA AYUDA AYUDA !!!!!

QUIEN MAS DEL FORO A PODIDO DESCARGAR LOS XMLS USANDO EL CAPTCHA usando """ C# """
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Dani_Sepu (1 intervención) el 30/07/2017 08:22:00
Hola Halcón gracias por tu código ... me ha sido de mucha ayuda

Se que andas peleando con el capcha pero mientras....mezcle lo que encontré en el foro y en otras paginas y probando encontré un url para pasar sin capcha...

no se cuanto dure pero hay que usarla mientras dure.

https://cfdiau.sat.gob.mx/nidp/app/login?id=4&option=credential&Ecom_User_ID=RFC&Ecom_Password=CIEC

gracias por compartir
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 31/07/2017 15:18:53
excelente aporte, un favor alguien tendra un ejemplo de como extraer nodos de una lista de 20 xml y los pueda exportar a excel por favor ayuda con este tema un ejemplo por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 31/07/2017 15:38:44
Muchas gracias por el aporte, podrias compartirme el proyecto trato de compilarlo pero me genera error puedas apoyarme una vez mas de verdad muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por rafael (4 intervenciones) el 13/08/2017 01:43:00
dame tu correo y te paso mi codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Konner (13 intervenciones) el 03/10/2017 20:22:56
Hola halcon, Jose

ya pude hacer funcionar la descarga por medio de captcha, manden correo para pasarles como se hizo.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 05/10/2017 00:54:01
Una pregunta tendras la nueva liga para la validacion de archivos la liga que compartiste ya no funciona

https://verificacfdi.facturaelectronica.sat.gob.mx/?ctl00%24ScriptManager1=ctl00%24MainContent%24UpnlBusqueda%7Cctl00%24MainContent%24BtnBusqueda&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=XSYWXINYzkqMyAg7BU0bVxd6Ah5zsaE1uO4d5fW6ZGKJvJ%2B%2B3Xj2DaVyi14esMzcNC557M%2FmvGLtRk3KvyUp8DPxwURM%2F%2FysqRQYJ8VX9refDcD2vTnVAew%2Bghu86SpuICsoIJ9BdRuH7jFciEAV11FozYCUv1YPL10aIY2Qx%2FrITOdm7RvaK0mfT153MdODL9uKEvCeMiDf7iAJ%2Fi65mbyIhIyIDe4EFrexUxIm5C7%2FEGHjoUPwiO8u4ufmn%2By%2B056EHK0cPMqaqB1NqyXLkxu%2Ft6u0KN6b5pEDFw6mcQMqz%2Bgk29RiGjmx86h0GAu%2FyRiIdNisZnIIARbnnozrZOYN8llULxw7gPnyiWYm6mun6KSH&__VIEWSTATEGENERATOR=CA0B0334&__VIEWSTATEENCRYPTED=&ctl00%24MainContent%24TxtUUID=2042F2FF-0BB9-4353-BE2D-4AE41CC05CB2&ctl00%24MainContent%24TxtRfcEmisor=SON080721MN7&ctl00%24MainContent%24TxtRfcReceptor=CED130828MJ8&ctl00%24MainContent%24TxTCaptchaNumbers=66740&__ASYNCPOST=true&ctl00%24MainContent%24BtnBusqueda=Verificar%20CFDI
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 25/08/2017 19:19:03
Buenas tardes

con respecto a lo que comentas la liga que compartes y comentas que ya no funciona esta mal tienes que quitarle " despues del PASS eso es todo quedaria asi la liga correcta

https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=1&option=credential&Ecom_User_ID=RFC&Ecom_Password=PASS&target=https://portalcfdi.facturaelectronica.sat.gob.mx/


aprovechando alguien que me pueda compartir algun proyecto que extraiga nodos de XML y lo pace a excel por favor ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alfonso Torres (7 intervenciones) el 28/08/2017 10:04:27
Alguien tiene la funcion o como descargar, ya pasando por el acceso, filtro de fechas, ya despues de que muestra el resultado, alguien tiene esa parte en Vb.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 28/08/2017 14:11:42
ESTA APLICACION ESTA DESARROLLADA CON VB.NET
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 28/08/2017 18:58:03
ES MUY SIERTO FACTURANDO TIENE UNA LIBRERIA QUE SIRVE PARA IMPLEMENTARLO EN TUS PROYECTOS PARA DESCARGAR LOS XML, PERO EL DETALLE ES QUE HAY QUE ESTAR ACTUALIZANDO LA DLL PERIODICAMENTE INDEPENDIENTE DE LOS CAMBIOS QUE REALIZE EL SAT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por rafael escoto (4 intervenciones) el 30/08/2017 08:19:49
necesito un poco de ayuda no puedo obtener la base del impuesto

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim xmlnode5 As XmlNodeList
xmlnode5 = xmldoc2.GetElementsByTagName("cfdi:Traslados")
If xmlnode5.Count > 0 Then
    For Each xAtt In xmlnode5
 
        For i = 0 To xAtt.ChildNodes.Count - 1
 
            'esto esta ok
 
            q_Impuesto = xAtt.ChildNodes(i).Attributes("Impuesto").Value.ToString
            q_TipoFactor = xAtt.ChildNodes(i).Attributes("TipoFactor").Value.ToString
            q_TasaOCuota = xAtt.ChildNodes(i).Attributes("TasaOCuota").Value.ToString
            q_Importe2 = xAtt.ChildNodes(i).Attributes("Importe").Value.ToString
 
            ' este no lo puedo obtener
            q_Base = xAtt.ChildNodes(i).Attributes("Base").Value.ToString
 
 
 
            ' esto esta ok
            qstr += "Base: " & q_Base
            qstr += " Impuesto: " & q_Impuesto & " Factor: " & q_TipoFactor & " Tasa: " & q_TasaOCuota & " Importe: " & q_Importe2 & vbCrLf
 
        Next
    Next
 
 
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alfonso Torres (7 intervenciones) el 30/08/2017 15:23:58
No se como vean, pero se me hace mas facil pasarlos por un data set y en automatico te genera todas las tablas, y si por ejemplo vas a leer un recibo con complemento, como nominas, ese lo pasas por schema
Ejemplo Leer Xml sin complementos

DataSet.ReadXml(Archivo_Xml)

Ejemplo Leer Xml Con Complementos
DataSet.ReadXmlSchema("c:\schemas\localxsd\nomina12.xsd")
DataSet.ReadXml(Archivo_Xml, XmlReadMode.ReadSchema)
Checa ver que tan practico lo puedes trabajar.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por rafael escoto (4 intervenciones) el 31/08/2017 03:54:25
Tendras un ejemplo para poder revisar y entender
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Osvaldo (1 intervención) el 01/09/2017 05:19:04
Compañero. me paso igual.

Pero solo use el link https://portalcfdi.facturaelectronica.sat.gob.mx/ como URL para iniciar en el Objeto WebBrowser.

No estoy seguro, pero pienso que se trata de Cookies que genera el Link anterior (https://portalcfdi.facturaelectronica.sat.gob.mx/) y posteriormente te lleva a la pantalla de LogIn del SAT.

Concretamente yo uso.

Public Const sLinkSATBaseLogin As String = "https://portalcfdi.facturaelectronica.sat.gob.mx/"
Public Const sLinkSATBaseEmisor As String = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaEmisor.aspx"
Public Const sLinkSATBaseReceptor As String = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx"

...
...

wbSAT.Navigate(sLinkSATBaseLogin)



Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 01/09/2017 14:35:12
Es cierto ya no funciona la url, al parecer por fín el SAT esta tapando todos los bugs
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 01/09/2017 16:49:52
Ayuda tengo problemas cuando lleno el formulario me muestra un error, esto al momento de navegar en el WebBrowser1. podrias ayudarme parece ser que es algo del java espero me puedas ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rosaura (5 intervenciones) el 01/09/2017 20:44:48
Hola alguien ya se dio cuenta que de nuevo dejó de funcionar la url para descargar, de hecho ayer por la noche se podía descargar sin captcha y eso me hizo suponer que la iban a cambiar de nuevo.
Estoy desarrollando un sistema contable muy grande llevo más de 2 años en él, está muy completo pero estoy atorada en la forma de descargar via web los xml hay alguién que tenga ese desarrollo o esté dispuesto a colaborar en desarrollarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 01/09/2017 21:29:08
Hola Rosaura, los servicios del SAT están funcionando de manera intermitente, incluso ahora estoy tratando de entrar normal por web pero no se puede, me atrevo a decir que de cierta forma es por que estamos en fin e inicio de mes, estoy trabajando en un login y que el usuario resuelva el captcha para cuando este la situación como esta es de cir, que si llega a funcionar la entrada sin captcha se use, si no pues la alternativa con captcha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 01/09/2017 23:59:43
Estoy en las mismas Rosaura,

Si alguien encuentra algo por favor ayuda!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 02/09/2017 11:58:14
AQUI EL VIDEO DONDE DEMUESTRO QUE SE PUEDE DESCARGAR LOS XML INGRESANDO EL CAPCHA DESDE CODIGO VB.NET, CUALQUIER DUDA ME PUEDEN ESCRIBIR A [email protected]

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 03/09/2017 11:57:24
Que tal;

Hay alguna forma de asignarle prioridad de ancho de banda al programa?

Como lo hacen los P2P tipo Emule, o Dropbox

Y con esto acelerar la descarga ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Coco Liso (1 intervención) el 03/09/2017 15:48:18
La única aceleración que puedes darle es por medio de multitareas ¿dónde está el código para copy-paste? no hay, creo, o búscalo con San Google chance y ya lo hayan puesto. O espérate al siguiente comentario de Rafael donde pone un video demostrando que él ya lo tiene.

Saludos, Rafael.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 03/09/2017 18:48:59
TE COMENTO QUE LA UNICA ACELERACION PARA LA DESCARGA DE LOS XML SERIO POR EL METDO POST, REQUEST YA QUE ESE PROCESO ES DE RESPUESTA Y ENVIO DE PETICION WEB MAS RAPIDO, YO INTENTE HACERLO CON VB.NET PERO NO LOGRE CONCRETARLO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Coco Liso (1 intervención) el 03/09/2017 20:22:33
Me extraña que digas eso, por lo que vi de tu código, estabas bastante cerca. Para mí que ya lo tenías.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 03/09/2017 20:36:27
EL METODO QUE MUESTRO EN EL VIDEO ES POR WEBBROWSER, DE CONCRETE EL CODIGO YA QUE DE IGUAL MANERA TENGO OTROS DESARROLLOS Y NO ME ESTOY INVOLUCRANDO MUCHO EL DE DESCARGA MASIVA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 04/09/2017 09:44:41
Yo me refiero a la ancho de banda disponible:

Ejemplo:

Si al mismo tiempo de la descarga masiva se están llevando más eventos, con uns velocidad de bajada de 20mb por ejemplo.

Youtube //Asignarle el 10% de los recursos de ancho de banda
Descarga Masiva //Asignarle el 80% de los recursos de ancho de banda
Netflix //Asignarle el 10% de los recursos de ancho de banda


Es posible realizar esta prioridad en net?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 04/09/2017 17:26:32
A mi ahora me esta funcionando esta

https://cfdiau.sat.gob.mx/nidp/app/login?id=20&sid=1&option=credential&sid=1&Ecom_User_ID={0}&Ecom_Password={1}&submit=Enviar", gUsuario.Trim().ToUpper(), gPassword.Trim()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 04/09/2017 22:14:55
Muchas Gracias Daniela, confirmo tambien me esta funcionando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Eduardo (1 intervención) el 04/09/2017 22:34:08
Buena tarde el url que coloco Daniela ese salta el captcha, alguien me puede ayudar que mi codigo dejo de funcionar, alguien me puede proporcionar un ejemplo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por DIGYTO (1 intervención) el 05/09/2017 23:42:37
Hola para los que preguntan se se puede balancear la carga del internet para darle prioridad al proceso de descarga... la respuesta es SI.

con todo gusto les puedo asesorar.

[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Areli Crescencio Ahuactzi (2 intervenciones) el 08/09/2017 06:10:59
Hola chicos, tengo una duda la descarga masiva de xml es legal o se requiere algun permiso para poder hacerlo, la verdad ya estuve buscando informacion sobre si es legal y no encuentro nada. Espero me puedan apoyar. Saludos y muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 20/09/2017 20:51:59
Areli

Hasta donde sé, no existe algún documento que diga que es ilegal, ni tampoco existe una página, formulario, etc., donde se pueda pedir permiso para poder hacerlo.

Yo creo que lo anterior se debe a que, en la descarga masiva, lo que se está haciendo es automatizar una tarea que haces de forma manual, porque finalmente, tú puedes descargar uno por uno los XML del SAT, pero esto te va a llevar mucho tiempo, y lo que hacen los diferentes programas es hacerlo de forma automática.

Te comparto este articulo donde se habla más acerca del tema, espero que la información te sea de utilidad.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Areli (2 intervenciones) el 20/09/2017 21:21:32
Hola, muchas gracias eso mismo pense "Lo que no esta prohibido esta permitido" Buen dia!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 21/09/2017 05:05:50
alguien save como extraer ciertos datos de una columna don de muestra la descarga con este codigo vb .net puedo consultar todos pero solo quiero extraer 4 columnas quiero que me muestre principal mente don de esta la vigencia para poder hacer un reporte de ante mano gracias.

Dim doc As HtmlDocument = _wbSat.Document
Dim divs As HtmlElementCollection = doc.GetElementsByTagName("div")
Dim Tipo As String

ListBox1.Items.Add("")
For Each div As HtmlElement In divs
If div.GetAttribute("id") = "ctl00_MainContent_UpnlResultados" Then
Dim tables As HtmlElementCollection = doc.GetElementsByTagName("table")


For Each tablex As HtmlElement In tables
Dim tds As HtmlElementCollection = tablex.GetElementsByTagName("td")

Dim spans As HtmlElementCollection = tablex.GetElementsByTagName("span")
Dim spText As String = String.Empty

For Each span As HtmlElement In spans
' For Each span As HtmlElement In spans
spText = span.InnerText
Tipo = span.OuterHtml
'Obtiene la columna "num"
If InStr(Tipo, "0", CompareMethod.Text) > 0 Then
Label15.Text = Label15.Text & spText & vbCrLf

Dim row0 As String() = {spText & vbCrLf}
DataGridView1.Rows.Add(row0)
End If
' If InStr(Tipo, "EstadodelComprobante", CompareMethod.Text) > 0 Then
'Label15.Text = Label15.Text & spText & vbCrLf
'ListView1.Items.Add(Label15.Text & spText & vbCrLf)
'End If
'Obtiene la columna "Folio"
' If InStr(Tipo, "Estado del Comprobante", CompareMethod.Text) > 0 Then
'ListBox1.Items.Add(TextBox3.Text & tdText & vbCrLf)
' End If
Next '
'Obtiene la cabezera "Totales"
Dim ths As HtmlElementCollection = tablex.GetElementsByTagName("th")
Dim thText As String = String.Empty
For Each th As HtmlElement In ths
thText = th.InnerText
Label14.Text = Label14.Text & thText & vbCrLf
Next
Next
End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 21/09/2017 05:07:19
alguien save como extraer ciertos datos de una columna don de muestra la descarga con este codigo vb .net puedo consultar todos pero solo quiero extraer 4 columnas quiero que me muestre principal mente don de esta la vigencia para poder hacer un reporte de ante mano gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Dim doc As HtmlDocument = _wbSat.Document
Dim divs As HtmlElementCollection = doc.GetElementsByTagName("div")
Dim Tipo As String
 
ListBox1.Items.Add("")
For Each div As HtmlElement In divs
    If div.GetAttribute("id") = "ctl00_MainContent_UpnlResultados" Then
        Dim tables As HtmlElementCollection = doc.GetElementsByTagName("table")
 
 
        For Each tablex As HtmlElement In tables
            Dim tds As HtmlElementCollection = tablex.GetElementsByTagName("td")
 
            Dim spans As HtmlElementCollection = tablex.GetElementsByTagName("span")
            Dim spText As String = String.Empty
 
            For Each span As HtmlElement In spans
                '  For Each span As HtmlElement In spans
                spText = span.InnerText
                Tipo = span.OuterHtml
                'Obtiene la columna "num"
                If InStr(Tipo, "0", CompareMethod.Text) > 0 Then
                    Label15.Text = Label15.Text & spText & vbCrLf
 
                    Dim row0 As String() = {spText & vbCrLf}
                    DataGridView1.Rows.Add(row0)
                End If
                '   If InStr(Tipo, "EstadodelComprobante", CompareMethod.Text) > 0 Then
                'Label15.Text = Label15.Text & spText & vbCrLf
                'ListView1.Items.Add(Label15.Text & spText & vbCrLf)
                'End If
                'Obtiene la columna "Folio"
                ' If InStr(Tipo, "Estado del Comprobante", CompareMethod.Text) > 0 Then
                'ListBox1.Items.Add(TextBox3.Text & tdText & vbCrLf)
                ' End If
            Next '
            'Obtiene la cabezera "Totales"
            Dim ths As HtmlElementCollection = tablex.GetElementsByTagName("th")
            Dim thText As String = String.Empty
            For Each th As HtmlElement In ths
                thText = th.InnerText
                Label14.Text = Label14.Text & thText & vbCrLf
            Next
        Next
    End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por guillermo (27 intervenciones) el 21/09/2017 15:04:07
Que tal buenos dias comparte tu proyecto por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 21/09/2017 20:18:28
Comparte aqui, solo necesitamos ideas, tips, no el código resuelto

De lo que comentó : [email protected]
Sobre la prioridad de ancho de banda a un proceso especifico
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 21/09/2017 20:25:52
Alguien sabes por ques tardando en ingrensar al portal del SAT, en la parte de descargas de facturas?

Tard entre 15 y 60 segundos en ingresar !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 21/09/2017 20:37:20
Mariana

Es cierto lo que comentas, en algunos casos llega a tardar hasta 2 minutos y en otros nunca ingresa.

Hemos realizado diferentes pruebas, con diferentes navegadores, diferentes proveedores de internet, diferentes sistemas operativos, etc y siempre se obtiene el mismo problema, todo parece indicar que el problema está en los servidores del SAT.

Si quieres saber más acerca de las pruebas que se hicieron puedes leer aquí.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 21/09/2017 20:41:43
ok en un momento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 21/09/2017 21:46:13
pongan su correo para que se los envie por alguna rrazon no abre el correo de hotmail me dise que asido utilizado por otra persona no puedo recuperarlo pongasus correos les envio el proyecto por otro correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 21/09/2017 22:37:31
Hola Mariana, creí que era el único con el problema, supuse que era problema de mi conexión, sin embargo haciendo pruebas en el navegador tambien tarda bastante con algunas excepciones las cuales si es rápido, esto de las dos formas con la url y resolviendo el captcha, espero que no estén considerando hacer grandes cambios en el SAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 22/09/2017 01:16:47
Mariana al parecer ya está funcionando mejor el sitio del SAT, se están pudiendo hacer las descargas y aunque el tiempo de conexión sigue siendo alto, ya es mucho menor.

En algunos casos se han obtenido tiempo de 4 segundos, algo que es bastane bueno comparado con los tiempos de ayer.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 22/09/2017 15:29:35
MAX2



como logran ver cuando estamos en la tabla de reportes obtenemos los datos de la tabla


solo lo den click en reporte obtendrán los datos de la tabla lo que quiero lograr es obtener solo supongamos que tengo las puras uuid y su vigencia para después evaluar su vigencia de los xml descargados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 22/09/2017 17:54:28
Máximo

Hola
Que tal

A lo que estoy entendiendo lo que requieres es extractar la información del renglón de los xml a descargar

Te paso el siguiente código en C# ... espero te sirva

Checa la variable """DatosDelRenglon"""

Aquí es donde se gurda los siguientes datos ;
// 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus
string[] aDatosDelRenglon = DatosDelRenglon.Split(chrArray);


Sino es lo que requieres porfa... pudieras volver a precisar cual es tu requerimiento.
Saludos


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
private void ProcessResult(ref int TotArchivosDescargados, ref DateTime UltimaFechaEmision, String TipoER)
{
    //Utilerias utilerias = new global::Utilerias();
 
    DateTime dtFechaEmision;
    string flag_Enviar_o_Recibir_CFDI;
    bool flag;
    bool Recibidos = true;
    if (TipoER == "Emitidos")
    {
        Recibidos = false;
    }
 
    try
    {
        Regex regex = new Regex("'.*?'");
        if (!(this._wbSat.Document == null))
        {
            HtmlElementCollection elementTablas = this._wbSat.Document.GetElementsByTagName("table");
            foreach (HtmlElement elementTabla in elementTablas)
            {
                foreach (HtmlElement elementRenglon in elementTabla.GetElementsByTagName("tr"))
                {
                    HtmlElementCollection elementBtnDescarga = elementRenglon.GetElementsByTagName("img").GetElementsByName("BtnDescarga");
 
                    if (elementBtnDescarga.Count == 0)
                    {
                        #region XML Cancelados
                        IEnumerable<HtmlElement> htmlElements = elementRenglon.GetElementsByTagName("span").Cast<HtmlElement>();
                        IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
                        {
                            bool innerText = span.InnerText != "";
                            return innerText;
                        });
 
                        string DatosDelRenglon = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
                        {
                            string str = string.Concat(current, span.InnerText, "|");
                            return str;
                        });
 
 
                        char[] chrArray = new char[] { '|' };
                        // 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus 11 Fecha Cancelacion
                        string[] aDatosDelRenglon = DatosDelRenglon.Split(chrArray);
                        try
                        {
                            if (aDatosDelRenglon[10] == "Cancelado")
                            {
                                String FechaCancelacion = aDatosDelRenglon[11];
                                String FechaEmision = aDatosDelRenglon[05];
 
 
                                DateTime.TryParse(aDatosDelRenglon[11], out dtFechaEmision);
 
                                #region Forma la Estructura del Directorio a Descargar
                                string[] EstructuraDelDirectorio = new string[] { gRutaDescargaXML.Trim(), gUsuario.ToString().Trim(), null, null, null, null };
                                string[] strArrays1 = EstructuraDelDirectorio;
 
                                flag_Enviar_o_Recibir_CFDI = (Recibidos ? "Received" : "Sended");
                                strArrays1[2] = flag_Enviar_o_Recibir_CFDI;
 
                                int yearEmision = dtFechaEmision.Year;
                                EstructuraDelDirectorio[3] = yearEmision.ToString("0000");
 
                                int MonthEmision = dtFechaEmision.Month;
                                EstructuraDelDirectorio[4] = MonthEmision.ToString("00");
 
                                int DayEmision = dtFechaEmision.Day;
                                EstructuraDelDirectorio[5] = DayEmision.ToString("00");
 
                                string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                                if (!Directory.Exists(RutaDelDirectorioDescarga))
                                {
                                    Directory.CreateDirectory(RutaDelDirectorioDescarga);
                                }
                                #endregion
 
                                string ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.txt", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0] + "_CANCELADO"));
                                this.DownloadFileCancelado(aDatosDelRenglon, ArchivoADescargar, RutaDelDirectorioDescarga, (Recibidos ? "Recibido" : "Emitido"));
 
                                TotArchivosDescargados = TotArchivosDescargados + 1;
                                UltimaFechaEmision = dtFechaEmision;
                                //  this.lblStatus.Text = "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")";
                                //utilerias.EscribeArchSal(gRutaDescargaXML.Trim() + "LOG.TXT", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + " " + "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")");
 
                                flag = (!this._supplierStructure ? true : !Recibidos);
                                if (!flag)
                                {
                                    #region Forma la Estructura del Directorio a Descargar el archivo
                                    EstructuraDelDirectorio = new string[] { gRutaDescargaXML, gUsuario.ToString().Trim(), null, null, null, null, null };
                                    string[] strArrays2 = EstructuraDelDirectorio;
 
                                    strArrays2[2] = (Recibidos ? "Received" : "Sended");
 
                                    EstructuraDelDirectorio[3] = aDatosDelRenglon[1];
                                    yearEmision = dtFechaEmision.Year;
 
                                    EstructuraDelDirectorio[4] = yearEmision.ToString("0000");
                                    yearEmision = dtFechaEmision.Month;
 
                                    EstructuraDelDirectorio[5] = yearEmision.ToString("00");
                                    yearEmision = dtFechaEmision.Day;
 
                                    EstructuraDelDirectorio[6] = yearEmision.ToString("00");
 
                                    RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                                    if (!Directory.Exists(RutaDelDirectorioDescarga))
                                    {
                                        Directory.CreateDirectory(RutaDelDirectorioDescarga);
                                    }
                                    #endregion
                                    ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.txt", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0] + "_CANCELADO"));
                                    this.DownloadFileCancelado(aDatosDelRenglon, ArchivoADescargar, RutaDelDirectorioDescarga, (Recibidos ? "Recibido" : "Emitido"));
                                }
                            }
                        }
                        catch
                        {
 
                        }
                        #endregion
                    }
 
                    if (elementBtnDescarga.Count == 1)
                    {
                        #region XML VIGENTE
                        string urlFileDownload = string.Format("https://portalcfdi.facturaelectronica.sat.gob.mx/{0}", regex.Match(elementBtnDescarga[0].OuterHtml).Value.Replace("'", ""));
 
                        IEnumerable<HtmlElement> htmlElements = elementRenglon.GetElementsByTagName("span").Cast<HtmlElement>();
                        IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
                        {
                            bool innerText = span.InnerText != "";
                            return innerText;
                        });
 
                        string DatosDelRenglon = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
                        {
                            string str = string.Concat(current, span.InnerText, "|");
                            return str;
                        });
 
 
                        char[] chrArray = new char[] { '|' };
                        // 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus
                        string[] aDatosDelRenglon = DatosDelRenglon.Split(chrArray);
 
                        DateTime.TryParse(aDatosDelRenglon[5], out dtFechaEmision);
 
                        #region Forma la Estructura del Directorio a Descargar
                        string[] EstructuraDelDirectorio = new string[] { gRutaDescargaXML.Trim(), gUsuario.ToString().Trim(), null, null, null, null };
                        string[] strArrays1 = EstructuraDelDirectorio;
 
                        flag_Enviar_o_Recibir_CFDI = (Recibidos ? "Received" : "Sended");
                        strArrays1[2] = flag_Enviar_o_Recibir_CFDI;
 
                        int yearEmision = dtFechaEmision.Year;
                        EstructuraDelDirectorio[3] = yearEmision.ToString("0000");
 
                        int MonthEmision = dtFechaEmision.Month;
                        EstructuraDelDirectorio[4] = MonthEmision.ToString("00");
 
                        int DayEmision = dtFechaEmision.Day;
                        EstructuraDelDirectorio[5] = DayEmision.ToString("00");
 
                        string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                        if (!Directory.Exists(RutaDelDirectorioDescarga))
                        {
                            Directory.CreateDirectory(RutaDelDirectorioDescarga);
                        }
                        #endregion
 
                        string ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.xml", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0]));
                        this.DownloadFile(urlFileDownload, ArchivoADescargar, RutaDelDirectorioDescarga, aDatosDelRenglon, (Recibidos ? "Recibido" : "Emitido"));
 
                        TotArchivosDescargados = TotArchivosDescargados + 1;
                        UltimaFechaEmision = dtFechaEmision;
                        //this.lblStatus.Text = "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")";
                        //utilerias.EscribeArchSal(gRutaDescargaXML.Trim() + "LOG.TXT", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + " " + "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")");
 
                        flag = (!this._supplierStructure ? true : !Recibidos);
                        if (!flag)
                        {
                            #region Forma la Estructura del Directorio a Descargar el archivo
                            EstructuraDelDirectorio = new string[] { gRutaDescargaXML, gUsuario.ToString().Trim(), null, null, null, null, null };
                            string[] strArrays2 = EstructuraDelDirectorio;
 
                            strArrays2[2] = (Recibidos ? "Received" : "Sended");
 
                            EstructuraDelDirectorio[3] = aDatosDelRenglon[1];
                            yearEmision = dtFechaEmision.Year;
 
                            EstructuraDelDirectorio[4] = yearEmision.ToString("0000");
                            yearEmision = dtFechaEmision.Month;
 
                            EstructuraDelDirectorio[5] = yearEmision.ToString("00");
                            yearEmision = dtFechaEmision.Day;
 
                            EstructuraDelDirectorio[6] = yearEmision.ToString("00");
 
                            RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                            if (!Directory.Exists(RutaDelDirectorioDescarga))
                            {
                                Directory.CreateDirectory(RutaDelDirectorioDescarga);
                            }
                            #endregion
                            ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.xml", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0]));
                            this.DownloadFile(urlFileDownload, ArchivoADescargar, RutaDelDirectorioDescarga, aDatosDelRenglon, (Recibidos ? "Recibido" : "Emitido"));
                        }
                        #endregion
                    }
 
                    if (TotArchivosDescargados >= MaximoDeDescargasSAT)
                        return;
                }
            }
        }
        else
        {
            return;
        }
    }
    catch (Exception exception)
    {
        this.Message("ERROR AL ESTAR PROCESANDO LA TABLA DE LOS URL DE  DESCARGAS: " + exception.Message);
        throw new Exception(exception.Message);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 22/09/2017 18:32:38
// 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus 11 Fecha Cancelacion


asi es amigo quiero obtener la tabla y pasarla a un datagridview
CAPTAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 22/09/2017 18:51:03
Maximo
Entonces ... Lo que tu requieres esta ahí en el código que acabo de postear.
Te repito checa el arreglo dimensional aDatosDelRenglon y la variable DatosDelRenglon


El detalle es que yo lo tengo en C# y tu usas VB no se si puedas hacer la traducción a VB

Espero aun y este en C# te sirva para darte una idea.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de maximo

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 23/09/2017 01:48:29
intente traducir pero nada nada alguien que me pueda ayudar :( }
sigo obteniendo toda la tabla solo quiero obtener algunas columnas en un datagridview

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim doc As HtmlDocument = _wbSat.Document
Dim divs As HtmlElementCollection = doc.GetElementsByTagName("div")
Dim Tipo As String
 
For Each div As HtmlElement In divs
    If div.GetAttribute("id") = "ctl00_MainContent_UpnlResultados" Then
        Dim tables As HtmlElementCollection = doc.GetElementsByTagName("td")
        For Each elementRenglon As HtmlElement In tables
             Dim vCfdiInfo As IEnumerable(Of HtmlElement) = elementRenglon.GetElementsByTagName("span").OfType(Of HtmlElement)()
            Dim vCfdiInfoStr As String = String.Empty
            For Each cfdiElement As HtmlElement In vCfdiInfo
                vCfdiInfoStr = String.Concat(vCfdiInfoStr, cfdiElement.InnerText)
                Tipo = cfdiElement.OuterHtml
 
                '  'Obtiene la columna "num"                   
                If InStr(Tipo, "0", CompareMethod.Text) > 0 Then
                    Label15.Text = Label15.Text & vCfdiInfoStr & vbCrLf
                    Dim row0 As String() = {vCfdiInfoStr & vbCrLf}
                    DataGridView1.Rows.Add(row0)
 
                End If
            Next
 
        Next
    End If
Next
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 23/09/2017 05:55:17
MAXIMO TE COMENTO QUE EN EL CODIGO QUE POSTEO ALCON DIVINO EL EN METODO "ProcessResult()" HAY UNA VARIABLE LLAMADA vArrCfdiInfo(1) ESA VARIABLE TIENEN LOS VALORES DE LOS RENGLONES

0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus 11 Fecha Cancelacion

1
2
3
4
5
6
7
8
9
10
11
12
'Utilerias.EscribeArchSal(NewFileName, "UUID....................." + vArrCfdiInfo[0].Trim());
'Utilerias.EscribeArchSal(NewFileName, "RFC del Emisor..........." + vArrCfdiInfo[1].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Nombre del Emisor........" + vArrCfdiInfo[2].Trim());
'Utilerias.EscribeArchSal(NewFileName, "RFC del Receptor........." + vArrCfdiInfo[3].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Nombre del Receptor......" + vArrCfdiInfo[4].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Fecha de Emision ........" + vArrCfdiInfo[5].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Fecha de Timbrado........" + vArrCfdiInfo[6].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Fecha de Cancelación....." + vArrCfdiInfo[11].Trim());
'Utilerias.EscribeArchSal(NewFileName, "PAC......................" + vArrCfdiInfo[7].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Total del CFDI..........." + vArrCfdiInfo[8].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Tipo de CFDI............." + vArrCfdiInfo[9].Trim());
'Utilerias.EscribeArchSal(NewFileName, "Estatus del CFDI........." + vArrCfdiInfo[10].Trim());
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/09/2017 20:03:44
El 4 de Septiembre Daniel publicó esta url para descargar ... Estoy suponiendo que "" NO "" pide captcha.

https://cfdiau.sat.gob.mx/nidp/app/login?id=20&sid=1&option=credential&sid=1&Ecom_User_ID={0}&Ecom_Password={1}&submit=Enviar", gUsuario.Trim().ToUpper(), gPassword.Trim()

A mi NO ME FUNCIONA .

Mi pregunta es si esta url esta funcionando o ya caduco ???

Hay alguna otra url que "" NO "" pida captcha para descargar ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 24/09/2017 04:49:58
Esa dirección de Daniela a mi me sigue funcionando, el único detalle es que tarda mucho en entrar pero no es la url es la pagina del sat que tambien entrando por caprcha esta lenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moises (12 intervenciones) el 25/09/2017 17:54:47
Hola, alguien que ya este avanzado y que me recomiende un post o foro para el armado y generacion del XML a timbrar ? version 2.2. o de preferencia 3.3. ?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 25/09/2017 18:38:49
MOISES EN ESTE VIDEO PODRAS VER QUE YO YA LO TENGO EN VB Y C# CUALQUIER DUDA ME PODRÁS CONTACTAR AL CORREO: [email protected]

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 18:44:48
Si de hecho ya lo habia visto, de hecho creo que ya te compramos una vez la version 2.0 necesitamos ver que cambios tenemos que realizar para la version 3.3 ya se cambio la ruta del xsd pero nos manda el siguiente error:

No se puede encontrar la información de esquema para el elemento 'MyApplicationData'.
siento que es algo de la ruta de los nuevos esquemas, alguien tiene una idea ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 25/09/2017 18:45:18
Moises

¿Exactamente que deseas saber?

¿Cómo armar el XML?
¿Cómo sellar el documento?
¿Tips o aspectos a tener en cuenta?
Etc

Hablas de la versió 2.2, es correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 18:54:07
El armado del XML de preferencia en 3.3 o si no setiene ese aun en 2.2 para darme una idea de por donde esta mi error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 25/09/2017 19:17:06
Moises

Si pudieras proporcionar el código, con gusto lo reviso y busco una solución.

Por lo que comentas se ve algo sencillo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 19:17:31
Gracias, ya te lo envie. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gilberto Rojas Cuevas (2 intervenciones) el 25/09/2017 19:20:17
Buenas tardes

Estoy tratando de traducir el código a VB 2010, pero no me queda la traducción de estas líneas

1
2
3
4
5
6
7
8
9
10
11
12
IEnumerable<HtmlElement> htmlElements = elementRenglon.GetElementsByTagName("span").Cast<HtmlElement>();
IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
{
    bool innerText = span.InnerText != "";
    return innerText;
});
 
string DatosDelRenglon = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
{
    string str = string.Concat(current, span.InnerText, "|");
    return str;
});


Me pueden apoyar por favor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 25/09/2017 19:29:22
Gilberto,

Porque no usas un traductor de código, te recomiendo este: Languaje Converter

Te convierte código de C# a VB.Net o de VB.Net a C#
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 19:32:45
Ok, pego codigo y lo comento, este codigo ya funciona o funcionaba para 2.2 estoy empezando a ver que cambios tengo que realizar, mas que nada en lo que respecta al llenado del XML o generacion ya que al timbrado no se ve que cambie mucho hasta el momento que es enviar el XML al PAC y lo regresa timbrado, bueno el que queda con el unico cambio que realize que es la ruta del xsd:

1
2
3
4
<System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233"), System.SerializableAttribute(), System.ComponentModel.DesignerCategoryAttribute("code"), System.Xml.Serialization.XmlTypeAttribute(AnonymousType:=True, Namespace:="http://www.sat.gob.mx/cfd/3"), System.Xml.Serialization.XmlRootAttribute(Namespace:="http://www.sat.gob.mx/cfd/3", IsNullable:=False)> _
    Partial Public Class Comprobante
        <System.Xml.Serialization.XmlAttribute("schemaLocation", Namespace:="http://www.w3.org/2001/XMLSchema-instance")> _
        Public xsiSchemaLocation As String = "http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd"

despues de ese cambio en VB.NET me empezo a mandar el siguiente error:

No se puede encontrar la información de esquema para el elemento 'MyApplicationData'.

No se si tengo que cambiar otra parte de la generacion del XML o ruta.

El otro codigo que al parecer se afecto con ese cambio es:
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <MySubMain>true</MySubMain>
  <MainForm>Form2</MainForm>
  <SingleInstance>false</SingleInstance>
  <ShutdownMode>0</ShutdownMode>
  <EnableVisualStyles>true</EnableVisualStyles>
  <AuthenticationMode>0</AuthenticationMode>
  <SaveMySettingsOnExit>false</SaveMySettingsOnExit>
</MyApplicationData>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 25/09/2017 19:47:38
Moises

Los cambios para el CFDI 3.3 son mucho mas que la estructura, recuerda que tambien cambió:

Algoritmo de sellado del XML
Manejo de catalogos
Código de barrras bidimensional
Validación del RFC
Comprobate de pago

Con respecto al código que publicas, es un poco complicado saber exactamente a que se debe el error, si pudieras publicar un proyecto para poder descargarlo y probar que esta pasando, sería mucho mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 19:57:07
Tienes algun correo para enviartelo. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 25/09/2017 21:29:48
Si muchas gracias, estoy revisando y comparando...Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raphael

Descarga Masiva XML SAT

Publicado por Raphael (1 intervención) el 26/09/2017 06:22:44
Hola antes que nada agradezco la cooperación de todos los que han contribuido a que el código para la descarga masiva haya crecido tanto, intente implementar el código que compartio el usuario [email protected] sin embargo la url que incluye en este código no funciona, arriba vi que Daniela publico una URL pero no se donde ponerla para probar, me podrian apoyar por favor si son tan amables?
Muchas gracias por adelantado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 26/09/2017 16:49:20
Cuando dejaran de hacer cambios =0


Ahora a mi me esta funcionando esta

https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=0&option=credential&sid=1&Ecom_User_ID={0}&Ecom_Password={1}&submit=Enviar", gUsuario.Trim().ToUpper(), gPassword.Trim());


también cambio esta parte

if (this._wbSat.Url == new Uri("https://cfdiau.sat.gob.mx/nidp/app?sid=0")) //Yo tenia 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 26/09/2017 18:47:55
Les comparto esta URL que tambien funciona:

https://cfdiau.sat.gob.mx/nidp/app/login?id=4&sid=0&option=credential&sid=0&Ecom_User_ID=XXX&Ecom_Password=XXX&submit=Enviar

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 27/09/2017 00:49:41
Buenas tardes alguien se ha topado con el siguiente mensaje al estar descargando
Ya no puedes descargar más documentos. Por seguridad únicamente se permite descargar un máximo de 1,000 archivos por día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 27/09/2017 01:23:38
Ariane

Nunca había visto ese mensaje, acabo de hacer una descarga de 2096 XML, se descargaron y se generó su PDF sin problema.

Lo que si he notado es que está un poco lento el proceso.

¿Qué estas usando (software, dll, código propio, etc) para hacer la descarga?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 27/09/2017 01:32:02
lo realice con codigo propio, utilizando partes del codigo que se compartieron en este foro y cuando me marco error intente descargar 1 archivo directamente en el portal del SAT y me mostro el mismo mensaje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 27/09/2017 01:37:56
Mira este PDF en la página 7

Servicio de consulta

Hablan justamente de esta restricción, pero solamente aplica para cuando haces la peticion al SAT y ellos te entregan un ZIP, no tiene nada que ver con la descarga manual.

En mi caso, la prueba la hice conectandome al SAT y descargando automaticamente los XML, por eso no tuve ningun problema.

Espero te sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 27/09/2017 01:52:56
gracias, una duda como te conectas al SAT y ejecutas la descarga, ya que lo que yo hago es conectarme al portal y ejecutar el boton de descarga que aparece en la consulta, creo que por eso me marca el error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 27/09/2017 02:15:00
Hola.

Me llamo la atención tu comentario y realice una prueba, acabo de realizar una descarga de 4156 xml en 2 minutos, por el momento no he visto ese mensaje.

Te comparto el link de libreria que hice en PHP.

https://github.com/blacktrue/sat-scraper
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 27/09/2017 05:18:30
Cesar

No conocía esta librería, gracias por el link, seguro le será de utilidad a muchas personas.

Descargue tu código y ejecute el proceso de consulta y tardó 81 segundos, este mismo proceso con la DLL que comente anteriormente tardaba la mitad del tiempo, 40 segundos; a eso me refería cuando comente inicialmente que estaba lento el proceso, porque meses atrás se tenían mejores tiempos de respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 01/10/2017 17:53:11
Colegas

He recibido varios correos pidiendo que vuelva a compartir el proyecto de Descargas de XML del SAT
No lo había hecho porque no me había funcionado las urls de autentificación ... No veía el caso de compartir algo que no funciona

Hoy domingo 1 de Octubre volví a hacer pruebas usando la url posteada por DANIELA y ya POR FIN YA ME FUNCIONO.

Ahora esperamos que dure un buen tiempo. .... Lo que si note es que a veces no se autentifica a la primera hay que reintentar.

Les recuerdo que este proyecto no usa el captcha ... aun no he podido resolver este problema del captcha de como incluirlo dentro del programa. ...

Si lo desean descargar directamente de la url
https://drive.google.com/file/d/0B5GCbAM5Q4rLaE90VU13ekVPZEk/view?usp=sharing

o bien si lo desean descargar de este post también se los anexo.


Saludos
Halcón Divino

Monterrey
Nuevo León
México.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 01/10/2017 20:32:43
Hola Eduardo.

También noto mas lento el proceso de descarga. tengo una API REST la cual usan algunos clientes para descargar las facturas. basado en los registros que tengo en base de datos, el proceso va mas lento que hace 3 semanas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 05/10/2017 06:41:39
Hola Compañeros buenas noches, en los inicios y ahorita me ha servidor mucho este foro, (gracias Halcon Divino hice mi primer proyecto de fact electronica hace ya unos años que el publico un proyecto), y una manera de agradecer a todos ustedes,
les comparto mi aplicacion que hice con la ayuda de ustedes que posteaban sus pedazos de codigo o proyecto completo,.

este proyecto ya usa el captcha, si lo tecleaste erroneo recarga y visualiza un nuevo capcha, si es correcto checa si se autentifico y empieza la descarga con las opciones especificadas...
cien por ciento funcional, (mientras el SAT no haga cambios sifnificativos en su web).. para que ustedes le anexen sus necesidades...
el proyecto esta Vs C# 2010.
Cualquier duda o comentario.

Saludos, que lo disfruten.
Buenas Noches
Victor Carvajal
Guamuchil, Sinaloa Mexico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 05/10/2017 17:13:53
Estoy desarrollando mi facturas 3.3 a la ora del cellado me presenta un error " El ensamblado de modo mixto se ha compilado con la versión 'v2.0.50727' del runtime y no se puede cargar en el runtime 4.0 sin información de configuración adicional."
'¿ cual sera el problema si me prodrian ayudar por favor?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 05/10/2017 18:35:00
Hola Maximo. checa si tu problema va porque estas usando esamblados que usan netframe 2 y netframe4.
checa si puedes cambiar en las propiedades del proyecto donde dice Recursos .Net Framework ponle 4. limpia solucion y vuelve a generar..
si con eso no te da..

puedes cambiar el app.config tienes algo asi

<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>

Cambialo asi

<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=client"/>
<supportedRuntime version="v2.0.50727"></supportedRuntime>
</startup>

Algo asi, pero por ahi buscale... esa es la idea..

Victor Carvajal
Guamuchil, Sinaloa Mexico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 05/10/2017 19:29:55
Muchas gracias una ´pregunta el el sello te lo da en el timbrado ? Victor Carvajal no tendras un correo gracias por tu apollo te lo agradesco :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por maximo (10 intervenciones) el 05/10/2017 22:36:27
Hola que tal amigos buenas tardes a solucione mi proble ahora sera que sera que me puedan proporcionar la forma de conectar los xsl es que lo intento pero no logro hacerlos para poder hacer lo espero sus prontas respuestas gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 06/10/2017 02:33:08
No te entiendo que quieres decir con conectar los xml... se mas explicito.

Seria bueno que se abriera otro hilo para cuestiones de facturacion electronica V33 u otros temas.
ya que este es para Descarga Masiva de xml, y como ven ya esta bastante cargado... como para tratar otros temas dentro de este...


Victor Carvajal
Guamuchil, Sinaloa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 06/10/2017 19:48:29
Mil gracias Víctor!!, eso de cambiar cada rato la url empezaba a fastidiarme.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por amairani (3 intervenciones) el 16/10/2017 21:25:13
Hola buenas tardes yo tengo duda en como hacer que la descarga la haga en una sola carpeta que no me cree subcarpetas de año, mes, dia y por RFC, solo me interesa en una sola carpeta los xml, he intenado hacerlo pero no lo he logrado, no se si me pudieran ayudar con ese problemita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 17/10/2017 20:28:37
hola bt. pides ayuda pero no posteas el pedazo de codigo, donde los descargas, asi no se puede ayudarte, o no conocemos el codigo de como lo estas descargando... (pero supongo que te refieres a donde combina el path de descarga con año, mes,dia rfc del xml, si es asi simplemente quita eso y pon una ruta fija)..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por amairani (3 intervenciones) el 18/10/2017 06:14:21
hola victor a lo siento esque el halcon divino me paso el proyecto y me refiero a ese
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
private void DownloadFile(string address, string fileName, String RutaXML, string[] Datos, String Sentido)
{
    Intentos = 0;
    try
    {
        string cookie = CookieReader.GetCookie(this._wbSat.Url.ToString());
 
 
        WebClient webClient = new WebClient();
        if (File.Exists(fileName))
        {
            this.Message(string.Format("El archivo {0} ya existe.\n", fileName));
        }
        else
        {
            webClient.Headers.Add(HttpRequestHeader.Cookie, cookie);
            webClient.DownloadFile(address, fileName);
 
 
            String UUID = Datos[0].Trim();
            String eRFC = Datos[1].Trim();
            String eNombre = Datos[2].Trim() ;
            String rRFC = Datos[3].Trim() ;
            String rNombre =  Datos[4].Trim() ;
            String Fecha_Emision = Datos[5].Trim() ;
            String Fecha_Timbrado = Datos[6].Trim() ;
            String pRFC = Datos[7].Trim() ;
            String TipoCFDI = Datos[9].Trim() ;
            String Estatus = Datos[10].Trim() ;
 
 
 
       //   String NewFileName = RutaXML + @"\" + TipoCFDI + "_" + eRFC + "_" + rRFC + "_" + Serie + "_" + Folio + ".xml";
            String NewFileName = RutaXML + @"\" + TipoCFDI + "_" + eRFC + "_" + rRFC + "_" + UUID  + ".xml";
 
            if (File.Exists(NewFileName)) File.Delete(NewFileName);
            File.Copy(fileName, NewFileName);
        // File.Delete(fileName);
       // File.Copy(fileName, @"C:\Users\amairani\Desktop\descargaPrueba\" + TipoCFDI + "_" + eRFC + "_" + rRFC + "_" + UUID + ".xml";
         File.Delete(fileName);
        this.Message(string.Format("Creando el archivo {0}.\n", NewFileName));
        }
    }
    catch (Exception exception)
    {
        this.Message("ERROR AL TRATAR DE DESCARGAR EL XML: " + exception.Message);
    }
}
 
private void DownloadFileCancelado(string[] Datos, string fileName, String RutaXML, String Sentido)
{
    Intentos = 0;
 
    try
    {
 
        if (File.Exists(fileName))
        {
            this.Message(string.Format("El archivo {0} ya existe.\n", fileName));
        }
        else
        {
 
            String TipoCFDI = Datos[9].Trim().Substring(0, 1).ToUpper();
            String eRFC = Datos[1].Trim(); // eRFC
            String rRFC = Datos[3].Trim(); // rRFC
            String UUID = Datos[0].Trim(); // rRFC
            String Total = Datos[8].Trim();
 
            Total = Total.Replace("$", "");
            Total = Total.Replace(",", "");
 
 
            String NewFileName = RutaXML + @"\" + TipoCFDI + "_" + eRFC + "_" + rRFC + "_" + UUID + ".txt";
 
            if (File.Exists(NewFileName)) File.Delete(NewFileName);
 
            // 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus 11 Fecha Cancelacion
            //Utilerias.EscribeArchSal(NewFileName, "UUID....................." + Datos[0].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "RFC del Emisor..........." + Datos[1].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Nombre del Emisor........" + Datos[2].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "RFC del Receptor........." + Datos[3].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Nombre del Receptor......" + Datos[4].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Fecha de Emision ........" + Datos[5].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Fecha de Timbrado........" + Datos[6].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Fecha de Cancelación....." + Datos[11].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "PAC......................" + Datos[7].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Total del CFDI..........." + Datos[8].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Tipo de CFDI............." + Datos[9].Trim());
            //Utilerias.EscribeArchSal(NewFileName, "Estatus del CFDI........." + Datos[10].Trim());
 
            this.Message(string.Format("Creando el archivo {0}.\n", fileName));
        }
    }
    catch (Exception exception)
    {
        this.Message("ERROR AL TRATAR DE DESCARGAR EL XML CANCELADO: " + exception.Message);
        throw new Exception(exception.Message);
    }
}
 
private static IEnumerable<HtmlElement> ElementsByClass(HtmlDocument doc, string className)
{
    IEnumerable<HtmlElement> htmlElements = doc.All.Cast<HtmlElement>().Where<HtmlElement>((HtmlElement e) =>
    {
        bool attribute = e.GetAttribute("className") == className;
        return attribute;
    });
    return htmlElements;
}
 
private void FinishSession()
{
    try
    {
        this.Message(string.Format("Cerrar sesion usuario {0}.", gUsuario.Trim()));
        this._wbSat.Navigate(new Uri("https://portalcfdi.facturaelectronica.sat.gob.mx/logout.aspx?salir=y"));
 
 
        this.Message("Proceso terminado.");
        SeProcesoWB_SAT = true;
 
    }
    catch (Exception exception)
    {
        this.Message("ERROR AL TRATAR DE CERRAR LA SESIÓN: " + exception.Message);
        throw new Exception(exception.Message);
    }
}
 
private void Message(string message)
{
    try
    {
        //this.lblStatus.Text = message;
        gtxtLog.AppendText(string.Concat(message, "\n"));
    }
    catch (Exception exception)
    {
        System.Windows.Forms.MessageBox.Show(exception.Message);
    }
}




en la descraga de los XML hace carpeta de añoç,mes y dia y luego por rfc año,mes,dia y lo que quiero hacer esque No me cree subcarpetas,si no que en 1 sola contega todos los xml
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 18/10/2017 06:35:47
Les comparto este sitio que se enfoca en monitorear los servidores del SAT y permite saber:

* Si el servidor del SAT está activo o se encuentra caído.
* El tiempo de respuesta que tiene el servidor del SAT.
* Detectar si el SAT ha realizado cambios en sus servidores.

Lo que hace este sitio es monitorear los servidores cada 5 minutos y guarda un historial para que lo puedes consultar en cualquier momento.

Espero les sea de utilidad.

MONITOR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 18/10/2017 20:11:52
Gracias Eduardo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por amairani (3 intervenciones) el 18/10/2017 20:23:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                                if (!Directory.Exists(RutaDelDirectorioDescarga))
                                {
                                    Directory.CreateDirectory(RutaDelDirectorioDescarga);
                                }
                                #endregion
 
                                string ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.txt", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0] + "_CANCELADO"));
                                this.DownloadFileCancelado(aDatosDelRenglon, ArchivoADescargar, RutaDelDirectorioDescarga, (Recibidos ? "Recibido" : "Emitido"));
 
                                TotArchivosDescargados = TotArchivosDescargados + 1;
                                UltimaFechaEmision = dtFechaEmision;
                                //  this.lblStatus.Text = "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")";
                              //  utilerias.EscribeArchSal(gRutaDescargaXML.Trim() + "LOG.TXT", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + " " + "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")");
 
                                flag = (!this._supplierStructure ? true : !Recibidos);
                                if (!flag)
                                {
                                    #region Forma la Estructura del Directorio a Descargar el archivo
                                    EstructuraDelDirectorio = new string[] { gRutaDescargaXML, gUsuario.ToString().Trim(), null, null, null, null, null };
                                    string[] strArrays2 = EstructuraDelDirectorio;
 
                                    strArrays2[2] = (Recibidos ? "Received" : "Sended");
 
                                    EstructuraDelDirectorio[3] = aDatosDelRenglon[1];
                                    yearEmision = dtFechaEmision.Year;
 
                                    EstructuraDelDirectorio[4] = yearEmision.ToString("0000");
                                   yearEmision = dtFechaEmision.Month;
 
                                    EstructuraDelDirectorio[5] = yearEmision.ToString("00");
                                   yearEmision = dtFechaEmision.Day;
 
                                    EstructuraDelDirectorio[6] = yearEmision.ToString("00");
 
                                    RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                                    if (!Directory.Exists(RutaDelDirectorioDescarga))
                                    {
                                        Directory.CreateDirectory(RutaDelDirectorioDescarga);
                                    }
                                    #endregion
                                    ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.txt", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0] + "_CANCELADO"));
                                    this.DownloadFileCancelado(aDatosDelRenglon, ArchivoADescargar, RutaDelDirectorioDescarga, (Recibidos ? "Recibido" : "Emitido"));
                                }
                            }
                        }
                        catch
                        {
 
                        }
                        #endregion
                    }
                    //
                    if (elementBtnDescarga.Count == 1)
                    {
                        #region XML VIGENTE
                        string urlFileDownload = string.Format("https://portalcfdi.facturaelectronica.sat.gob.mx/{0}", regex.Match(elementBtnDescarga[0].OuterHtml).Value.Replace("'", ""));
 
                        IEnumerable<HtmlElement> htmlElements = elementRenglon.GetElementsByTagName("span").Cast<HtmlElement>();
                        IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
                        {
                            bool innerText = span.InnerText != "";
                            return innerText;
                        });
 
                        string DatosDelRenglon = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
                        {
                            string str = string.Concat(current, span.InnerText, "|");
                            return str;
                        });
 
 
                        char[] chrArray = new char[] { '|' };
                        // 0 UUID 1 RFC Emisor 2 Nombre Emisor 3 RFC Receptor 4 Nombre Receptor 5 Fecha Emision 6 Fecha Timbrado 7 PAC 8 Total 9 Tipo CFDI 10 Estatus
                        string[] aDatosDelRenglon = DatosDelRenglon.Split(chrArray);
 
                        DateTime.TryParse(aDatosDelRenglon[5], out dtFechaEmision);
 
                        #region Forma la Estructura del Directorio a Descargar
                        string[] EstructuraDelDirectorio = new string[] { gRutaDescargaXML.Trim(), gUsuario.ToString().Trim(), null, null, null, null };
                        string[] strArrays1 = EstructuraDelDirectorio;
 
                        flag_Enviar_o_Recibir_CFDI = (Recibidos ? "Received" : "Sended");
                        strArrays1[2] = flag_Enviar_o_Recibir_CFDI;
 
                        int yearEmision = dtFechaEmision.Year;
                        EstructuraDelDirectorio[3] = yearEmision.ToString("0000");
 
                        int MonthEmision = dtFechaEmision.Month;
                        EstructuraDelDirectorio[4] = MonthEmision.ToString("00");
 
                        int DayEmision = dtFechaEmision.Day;
                        EstructuraDelDirectorio[5] = DayEmision.ToString("00");
 
                        string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                        if (!Directory.Exists(RutaDelDirectorioDescarga))
                        {
                            Directory.CreateDirectory(RutaDelDirectorioDescarga);
                        }
                        #endregion
 
                        string ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.xml", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0]));
                        this.DownloadFile(urlFileDownload, ArchivoADescargar, RutaDelDirectorioDescarga, aDatosDelRenglon, (Recibidos ? "Recibido" : "Emitido"));
 
                        TotArchivosDescargados = TotArchivosDescargados + 1;
                        UltimaFechaEmision = dtFechaEmision;
                        //this.lblStatus.Text = "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")";
                        //utilerias.EscribeArchSal(gRutaDescargaXML.Trim() + "LOG.TXT", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + " " + "(" + TotArchivosDescargados.ToString() + " | " + dtFechaEmision.ToString("dd/MM/yyyy HH:mm:ss") + ")");
 
                        flag = (!this._supplierStructure ? true : !Recibidos);
                        if (!flag)
                        {
                            #region Forma la Estructura del Directorio a Descargar el archivo
                            EstructuraDelDirectorio = new string[] { gRutaDescargaXML, gUsuario.ToString().Trim(), null, null, null, null, null };
                            string[] strArrays2 = EstructuraDelDirectorio;
 
                            strArrays2[2] = (Recibidos ? "Received" : "Sended");
 
                            EstructuraDelDirectorio[3] = aDatosDelRenglon[1];
                            yearEmision = dtFechaEmision.Year;
 
                            EstructuraDelDirectorio[4] = yearEmision.ToString("0000");
                            yearEmision = dtFechaEmision.Month;
 
                            EstructuraDelDirectorio[5] = yearEmision.ToString("00");
                            yearEmision = dtFechaEmision.Day;
 
                            EstructuraDelDirectorio[6] = yearEmision.ToString("00");
 
                            RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                            if (!Directory.Exists(RutaDelDirectorioDescarga))
                            {
                                Directory.CreateDirectory(RutaDelDirectorioDescarga);
                            }
                            #endregion
                            ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.xml", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0]));
                            this.DownloadFile(urlFileDownload, ArchivoADescargar, RutaDelDirectorioDescarga, aDatosDelRenglon, (Recibidos ? "Recibido" : "Emitido"));
                        }
                        #endregion
                    }
 
                    if (TotArchivosDescargados >= MaximoDeDescargasSAT)
                        return;
                }
            }
        }
        else
        {
            return;
        }
    }
    catch (Exception exception)
    {
        this.Message("ERROR AL ESTAR PROCESANDO LA TABLA DE LOS URL DE  DESCARGAS: " + exception.Message);
        throw new Exception(exception.Message);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor Carvajal (22 intervenciones) el 19/10/2017 18:50:30
Disculpa amairani, pero creo que te falta muucho de programacion si no entiendes y no puedes resolver lo que deseas hacer sobre que se te descarguen en una sola carpeta los xml.

// aqui se crean las carpetas donde se descargan ( la ruta especificada\\usuario\\received ó Sended\\rfc\\año\\mes\\dia\\

#region Forma la Estructura del Directorio a Descargar el archivo
EstructuraDelDirectorio = new string[] { gRutaDescargaXML, gUsuario.ToString().Trim(), null, null, null, null, null };
string[] strArrays2 = EstructuraDelDirectorio;

strArrays2[2] = (Recibidos ? "Received" : "Sended");

EstructuraDelDirectorio[3] = aDatosDelRenglon[1];
yearEmision = dtFechaEmision.Year;

EstructuraDelDirectorio[4] = yearEmision.ToString("0000");
yearEmision = dtFechaEmision.Month;

EstructuraDelDirectorio[5] = yearEmision.ToString("00");
yearEmision = dtFechaEmision.Day;

EstructuraDelDirectorio[6] = yearEmision.ToString("00");

RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
if (!Directory.Exists(RutaDelDirectorioDescarga))
{
Directory.CreateDirectory(RutaDelDirectorioDescarga);
}
#endregion


//Borra todo lo anterior y sustituyelo simplemente con
RutaDelDirectorioDescarga=gRutaDescargaXML // o la ruta que tu quieras "c:\\cfdis"

analiza el codigo...
igual aqui se forma el nombre del archivo xml erfc_rrfc_uuid.xml
ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}.xml", aDatosDelRenglon[1], aDatosDelRenglon[3], aDatosDelRenglon[0]));

si quieres el nombre del xml solo del uuid.xml
ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}.xml", aDatosDelRenglon[0]));

this.DownloadFile(urlFileDownload, ArchivoADescargar, RutaDelDirectorioDescarga, aDatosDelRenglon, (Recibidos ? "Recibido" : "Emitido"));

de igual forma yo subi un proyecto completo donde descarga en una sola carpeta ya utilizando el captcha,,, checalo mas arriba...

Victor Carvajal
Guamuchil Sinaloa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por alonso (13 intervenciones) el 06/11/2017 22:15:08
Hola buenas tardes,

alguno de ustedes tendrá las clases del cfdi 3.3, que pudiera compartir?

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 06/11/2017 22:30:07
En este link deje un ejemplo de como generar un xml ver 3.3 de faxtura electronica.

https://www.lawebdelprogramador.com/foros/C-sharp/1628885-Programa-de-Factura-Electronica-v3.3-en-C.html

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Ruben Miller (3 intervenciones) el 16/11/2017 16:53:16
Buen día Halcón, ¿tendrás el código en C# para la descarga masiva de los XML? he buscado en varias partes pero no encuentro mucha

información, en este foro se ven buenas referencias, pero la mayoría de los links a dropbox o repositorios se encuentran caidos.

De antemano muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 22/11/2017 18:15:36
-----*******Alguien sabe como extraer la Informacion de los Nodos de varios XML o donde puedo buscar para ver un ejemplo, alguien que me pueda ayudar un ejemplo -----*******
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Ruben Miller (3 intervenciones) el 22/11/2017 19:10:27
Hoy empece a trabajar con ello en C#, te paso mi idea, aun no se si funcione pero puede que te sirva,

1
2
3
4
5
6
7
8
WebClient webClient = new WebClient();
 
webClient.Headers.Add(HttpRequestHeader.Cookie, cookie);
 
//obtengo 
Stream archivo = webClient.OpenRead(address);
StreamReader sr = new StreamReader(archivo);
Console.WriteLine(sr.ReadToEnd());

tengo un metodo que extrae la informacion por xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
void uuid_get(string myfile)
{
    string uuid = "";
    string folio = "";
    string rfc = "";
    string rfc_cliente = "";
    XmlReader reader = XmlReader.Create(myfile)  ;
    {
        while (reader.Read())
        {
            if (reader.IsStartElement())   // checa si hay algo que leer.
            {
                // obtiene el nombre de cada elemento
                switch (reader.Name)
                {
 
                    case "cfdi:Comprobante":
                        folio = reader["folio"];
                        break;
 
 
                    case "cfdi:Emisor":
                        rfc = reader["rfc"];
                        break;
 
                    case "cfdi:Receptor":
                        rfc_cliente = reader["rfc"];
                        break;
 
                    case "tfd:TimbreFiscalDigital":
                        // Detect this element.
                        uuid = reader["UUID"];
                        break;
 
                }
 
            }
        }
        db_grabar(folio,uuid,rfc,rfc_cliente,reader.Depth.ToString()); //Esta rutina depende de cada quien es para implementarla para grabar a la base de datos
    }
}

Nota: solo es la idea que tengo, no esta funcional, pero de ahí me estoy guiando para hacer lo mismo que pides
http://www.validacfd.com/phpbb3/viewtopic.php?t=3166

Saludos desde Culiacán Sinaloa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Ruben Miller (3 intervenciones) el 23/11/2017 01:48:45
Listo, cree una clase donde tengo mis objetos encabezado y detalle

luego donde se obtiene el archivo xml:
1
2
3
4
5
6
7
8
webClient.Headers.Add(HttpRequestHeader.Cookie, cookie);
Stream archivo = webClient.OpenRead(address);
StreamReader sr = new StreamReader(archivo);
// Console.WriteLine(sr.ReadToEnd());
 
//metodo que obtiene los datos requeridos del xml
Encabezado datosXML = Funciones.getElementos(sr);
archivo.Close();

El metodo donde se obtienen los objetos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
internal static Encabezado getElementos(StreamReader archivo)
{
    Encabezado enc = new Encabezado();
 
   Detalle det = new Detalle();
    List<Detalle> detalles = new List<Detalle>();
 
 
 
    XmlReader reader = XmlReader.Create(archivo);
    {
        while (reader.Read())
        {
            if (reader.IsStartElement())   // checa si hay algo que leer.
            {
                // obtiene el nombre de cada elemento
                switch (reader.Name.ToUpper())
                {
                    case "CFDI:COMPROBANTE":
                        enc.SatFecha = reader["Fecha"] == "" ? Convert.ToDateTime(reader["fecha"]) : Convert.ToDateTime(reader["Fecha"]);
                        enc.SatSubTotal = reader["subTotal"] == "" ? Convert.ToDecimal(reader["subTotal"]): Convert.ToDecimal(reader["SubTotal"]);
                        enc.SatTotal = reader["Total"] == "" ? Convert.ToDecimal(reader["total"]) : Convert.ToDecimal(reader["Total"]);
                        enc.SatMoneda = reader["Moneda"] == "" ? reader["moneda"] : reader["Moneda"];
                        break;
                    case "CFDI:EMISOR":
                        enc.SatEmisor = reader["Rfc"] == "" ? reader["rfc"] : reader["Rfc"];
                        break;
                    case "CFDI:RECEPTOR":
                        enc.SatReceptor = reader["Rfc"] == "" ? reader["rfc"] : reader["Rfc"];
                        break;
                    case "TFD:TIMBREFISCALDIGITAL":
                        // Detect this element.
                        enc.SatUuid = reader["UUID"] == "" ? reader["uuid"] :  reader["UUID"];
                        enc.SatFechaTimbrado = reader["FechaTimbrado"] == "" ? Convert.ToDateTime(reader["fechaTimbrado"]): Convert.ToDateTime(reader["FechaTimbrado"]);
                        break;
                    case "CFDI:IMPUESTOS":
                        enc.SatTotalImpuestosRetenidos = reader["TotalImpuestosRetenidos"] == "" ? Convert.ToDecimal(reader["totalImpuestosRetenidos"]) : Convert.ToDecimal(reader["TotalImpuestosRetenidos"]);
                        enc.SatTotalImpuestosTraslado =  reader["TotalImpuestosTrasladados"] == "" ? Convert.ToDecimal(reader["totalImpuestosTrasladados"]) : Convert.ToDecimal(reader["TotalImpuestosTrasladados"]);
                        break;
                    case "NOMINA12:NOMINA":
                        enc.SatTotalImpuestosTraslado = reader["TotalOtrasDeducciones"] == "" ? Convert.ToDecimal(reader["totalOtrasDeducciones"]) : Convert.ToDecimal(reader["TotalOtrasDeducciones"]);
                        break;
                    case "NOMINA:NOMINA":
                    case "NOMINA:RECEPTOR":
                    case "NOMINA12:RECEPTOR":
                        enc.SatAntiguedad = reader["Antiguedad"] == "" ? reader["antiguedad"] : reader["Antiguedad"];
                        enc.SarPeriodicidad = reader["PeriodicidadPago"] == "" ? reader["periodicidadPago"] : reader["PeriodicidadPago"];
                        break;
                    case "NOMINA:PERCEPCION":
                    case "NOMINA12:PERCEPCION":
                        det = new Detalle();
                        det.SatClave = reader["Clave"] == "" ? Int32.Parse(reader["clave"]) : Int32.Parse(reader["Clave"]);
                        det.SatConcepto = reader["Concepto"] == "" ? reader["concepto"] : reader["Concepto"];
                        det.SatImporte = reader["ImporteGravado"] == "" ? Convert.ToDecimal(reader["importeGravado"]) : Convert.ToDecimal(reader["ImporteGravado"]);
                        det.SatTipo = "1";
                        det.SatTipoPercepcion = reader["TipoPercepcion"] == "" ? reader["tipoPercepcion"] : reader["TipoPercepcion"];
                        det.SatTipoDeduccion =  reader["TipoDeduccion"] == "" ? reader["tipoDeduccion"] : reader["TipoDeduccion"];
                        detalles.Add(det);
                        break;
                    case "NOMINA:DEDUCCION":
                    case "NOMINA12:DEDUCCION":
                        det = new CO_SAT_DESCARGAS_DET();
                        det.SatUuid = UUID;
                        det.SatClave = reader["Clave"] == "" ? Int32.Parse(reader["clave"]) : Int32.Parse(reader["Clave"]);
                        det.SatConcepto = reader["Concepto"] == "" ? reader["concepto"] : reader["Concepto"];
                        det.SatImporte = reader["ImporteGravado"] == "" ? Convert.ToDecimal(reader["importeGravado"]) : Convert.ToDecimal(reader["ImporteGravado"]);
                        det.SatTipo = "2";
                        det.SatTipoPercepcion = reader["TipoPercepcion"] == "" ? reader["tipoPercepcion"] : reader["TipoPercepcion"];
                        det.SatTipoDeduccion = reader["TipoDeduccion"] == "" ? reader["tipoDeduccion"] : reader["TipoDeduccion"];
                        detalles.Add(det);
                        break;
 
                }
 
            }
        }
        enc.Detalles = detalles;
        return enc;
 
    }
 
}

Espero te sirva, de esa forma pude obtener los datos del xml, hay otro metodo por medio de XMLNodes y XMLAtributes pero ese no me funciono en C#, pero puede que tu si puedas, Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 23/11/2017 15:33:01
Muchas gracias crees que sea posible que lo compartas el proyecto es que tengo duda como esta declarado si lo declaras como clase o como tambien que tipos de botones tiene espero me puedas echar la mano muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Rafael (1 intervención) el 23/11/2017 20:07:08
Que tal, crees que esto mismo se pueda hacer directamente desde un archivo de excel desde VBA ?? Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alonso (13 intervenciones) el 23/11/2017 20:54:35

Puedes hacer esto tambien al momento de estar descargando los xml



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
XDocument _xdoc = null;
XDocument.Load(ms); // Aquí tu stream del xml
 
var comprobante = from b in _xdoc.Descendants("Comprobante")
    select new
    {
    LugarExpedicion = b.Attribute("LugarExpedicion").Value,
    MetodoPago = b.Attribute("MetodoPago").Value,
    TipoDeComprobante = b.Attribute("TipoDeComprobante").Value,
    Total = b.Attribute("Total").Value,
    Moneda = b.Attribute("Moneda").Value,
    Certificado = b.Attribute("Certificado").Value,
    SubTotal = b.Attribute("SubTotal").Value,
    NoCertificado = b.Attribute("NoCertificado").Value,
    FormaPago = b.Attribute("FormaPago").Value,
    Sello = b.Attribute("Sello").Value,
    Fecha = b.Attribute("Fecha").Value,
    Folio = b.Attribute("Folio").Value,
    Version = b.Attribute("Version").Value,
     };
 
    var comp = comprobante.ToList();
    datetime fechaemision = Convert.ToDateTime(comp[0].Fecha); // para el caso del comprobante es así
    // para EMISOR,RECEPTOR, ETC.
    string rfcemisor = _emisor.rfc;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 23/12/2017 06:56:28
Hola chicos y chicas;

Con la novead que la poderosa url de Daniela para omitir el captcha ya no esta funcionando.

*Esta es la url magica que duro más tiempo
https://cfdiau.sat.gob.mx/nidp/app/login?id=20&sid=1&option=credential&sid=1&Ecom_User_ID=rfc&Ecom_Password=pass&submit=Enviar


El 21 de diciembre del 2017 SAT realizo cambios en su plataforma, desde las 17 horas y todos los servicios del SAT se encontraban intermitentes, para el 22 del mismo mes la url ya no esta funcionando.


Hare varias pruebas de nuevas urls magicas, si encuentro una les compartire, saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 23/12/2017 07:04:36
Hola Mariana

Como bien comentas, el SAT volvió a hacer cambios y dejo de funcionar la URL; eso ya se veía venir, ya que hace días estaba intermitente el acceso y además estaba muy lento.

He realizado diferentes pruebas, combinando diferentes parámetros para ver si puedo encontrar otra, pero no ha sido posible; para esto hice una pequeña aplicación que combina parámetros y los va probando, pero no he tenido suerte.

Igualmente, si encuentro otra la estaré compartiendo.

Que tengas bonita noche.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rosaura (5 intervenciones) el 27/12/2017 21:27:28
alguien ha encontrado alguna URL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 08/01/2018 22:59:49
alguien a encontrado alguna manera de hacer la descarga saltandose el captcha?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/01/2018 20:51:01
Colegas

Alguien que me pueda apoyar diciéndome como pudiera logarme usando la FIEL en vez de la CIEC

Algo de código con el que me que me puedan apoyar

Se los agradeceria mucho

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Mariana (17 intervenciones) el 23/01/2018 20:57:16
Sin exito, ya intente todas las urls posibles.


Al pàrecer lo único que nos queda es acceso por FIEL o intentar con OCR.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/01/2018 21:02:08
Yo ya puedo logearme usando la CIEC con el CAPTCHA

Pero Si alguien me pudiera dar una ayuda con el ALGO DE CODIGO de como accesar usando la FIEL con CAPTCHA

Se los agradecería
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por edendm (26 intervenciones) el 23/01/2018 21:24:30
Que URL usaste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniela (6 intervenciones) el 23/01/2018 22:41:23
Victor Carvajal, el 5 de octubre del año pasado, subió un proyecto para la descarga de documentos utilizando captcha, a mi me ha funcionado después de que dejaron de funcionar las diferentes URL's.

Muchas Gracias Victor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 23/01/2018 22:53:34
Edendm

Te refieres a la url usando CIEC con CAPTCHA ???

De ser asi es esta la url

"https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0"

Y esta es parte del código


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private void Authenticate()
{
    try
    {
        this.Message(string.Format("Iniciando sesion del usuario {0}.", gUsuario.Trim().ToUpper()));
 
        string postData = string.Format("&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar", gUsuario, gPassword, gCaptcha);
        System.Text.Encoding encoding = System.Text.Encoding.UTF8;
        byte[] bytes = encoding.GetBytes(postData);
 
        _wbSat.Navigate(_wbSat.Url, string.Empty, bytes, "Content-Type: application/x-www-form-urlencoded");
 
        #region ESPERA A QUE SE CARGUE LA PAGINA WEB Y SE PROCESE EL METODOD wbSAT_DocumentCompleted
        SeProcesoWB_SAT = false;
 
        Intentos = 0;
        while (true)
        {
            Application.DoEvents();
            if (!this._wbSat.IsBusy)
            {
                //      break;
                //_wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx");
 
                if (SeProcesoWB_SAT)
                {
                    break;
                }
 
                if (Intentos > 100000)
                {
                    this.Message("AVISO IMPORTANTE: CONTRAEÑA CIEC INCORRECTA  " + Intentos.ToString());
                    break;
                }
                Intentos = Intentos + 1;
            }
        }
 
        this.Message("Contador de Intentos = " + Intentos.ToString());
        //this._wbSat.Dispose();
        #endregion
 
    }
    catch (Exception exception)
    {
        throw new Exception(exception.Message);
    }
}



Edendm ...o algún otro colega.... tedndran algo de código de como me podría logear usando la e.Firma en vez de la CIEC ???

Por fa...si me pudieran ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por aampudia (12 intervenciones) el 24/01/2018 03:06:15
hola, Halcón Divino, pero con esa URL no se hace bypass al captcha, sino que el usuario lo mete manualmente, cierto???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 24/01/2018 08:18:35
MI ESTIMADO ALCON DIVINO, TE COMENTO QUE ESTUVE INDAGANDO HACERCA DEL ACCESO POR CLAVE FIEL Y AQUI ESTA LA RESPUESTA SOLO FALTA Y TENGO UNA DUDA DE DONDE PODRA SALIR LA FUNCION GENERAFIRMA, ESPERO TE SIRVA UN POCO DE AYUDA, TE COMENTO QUE LO QUE REALIZARIAMOS ES OBTENER UN TOKEN CON EL CER, EL KEY Y LA CONTRASEÑA COMO ASI LO REQUIERE LA PAGINA DEL SAT PARA PODER INGRESAR CON FIEL AL PORTAL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function firmar(event) {
    if (validate()) {
        console.log('Realizando firma...');
        var rfc = document.getElementById("rfc").value;
        console.log('RFC obtenido: ' + rfc);
        var numSerie = obtieneNumSerie();
        console.log('Numero de serie: ' + numSerie);
        var co = document.getElementById("tokenuuid").value + "|" + rfc + "|" + numSerie;
        console.log('El token generado es: ' + co);
        var laFirma = generaFirma(document.getElementById("privateKeyPassword").value, co);
        console.log('La firma generada es: ' + laFirma);
        if (laFirma != 'SIN_FIRMA') {
            var token = Base64.encode(Base64.encode(co) + "#" + laFirma);
            console.log('Token Final: ' + token);
            document.getElementById("token").value = token;
            document.getElementById("certform").submit();
        }
    }else {
        event.preventDefault();
        showMsgError('<strong>¡Error!</strong> no ha llenado varios campos requeridos. Por favor verifique.');
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edén

Descarga Masiva XML SAT

Publicado por Edén (26 intervenciones) el 24/01/2018 08:26:20
Por pura curiosidad, por que quieres entrar con la fiel ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 24/01/2018 08:33:57
CON INGRESO FIEL NO PIDE CAPCHA Y ENTRARIA EN AUTOMATICO.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Edén

Descarga Masiva XML SAT

Publicado por Edén (26 intervenciones) el 24/01/2018 08:49:05
Entiendo, muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 24/01/2018 15:48:55
Rafael
Muchas gracias por el apoyo.

Deja lo analizo y ver como funciona.



Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 26/01/2018 17:33:06
Que tal, me servido bastante tu aplicativo, le haria unas modificaciones a mayor parametrización, la url que uso es la siguiente
https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx

al no tener una sesión activa te manda a la Url correcta, tienes un detalle del catpcha que aveces lees y luego no, la forma como lo corregi es lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
try
{
 
    foreach (mshtml.IHTMLElement Img in Doc.images)
    {
 
        if (Img.getAttribute("src").ToString().Contains("jcaptcha.jpg"))
        {
            ImgRng.@add((mshtml.IHTMLControlElement)Img);
            ImgRng.execCommand("Copy", false, null);
            IDataObject data = Clipboard.GetDataObject();
 
            if (data.GetDataPresent(DataFormats.Bitmap))
            {
                Bitmap bitmap = (data.GetData(DataFormats.Bitmap, true) as Bitmap);
                PictureBoxCaptcha.Image = bitmap;
            }
        }
    }
}
catch (Exception xc)
{
    listBox1.Items.Add(xc.Message.ToString());
    GetCaptcha();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Maltrak
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Maltrak (34 intervenciones) el 28/01/2018 00:35:45
Crackneo muchas gracias. por el aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 27
Ha aumentado su posición en 4 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por jose (34 intervenciones) el 28/01/2018 22:58:33
funciono a la perfeccion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 49
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Guillermo (27 intervenciones) el 29/01/2018 03:01:02
mil gracias, una pregunta tendras algun ejemplo de extraccion de nodos de los xml o algo q me aconsejes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 30/01/2018 00:25:54
Se mas especifico que buscas ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Jesus (4 intervenciones) el 06/02/2018 11:08:18
hola alguien a tenido este mensaje :
ERROR AL TRATAR DE DESCARGAR EL XML: Índice fuera de los límites de la matriz.
https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?Datos=bt/yPUpRYjPgmJGW540xlsubqmpGJHX05O8JoGFN/rY6Sr3rn4qumrv86CikoMmZZmkre91ACogPFIEtWwPhGXjlh/croRoNFmSEkHOkXTprh9HxL3tVzA70V2P9HlI1WAKwezOY/09ylSI+rGWpWSaax4Ujl5gD8tYjtc6qAsXarH4nl10mPk0/WNkzb+P7mjHeZf7BBk08usjQCQr+5mgJRkS8J/cxAqhzvmVYCX67Ngjb5YEJjXxVqWO+5jXmX6I/eOgN2LvgLryM+Yb33YWRkCr5Hn8TfKIKa6Y/zhrBZ3Elv6BxfDbG4vHfVwbVcQ0m8xjTCtWQlwrNMM3fs+PBuPUBKc8gCzsRbCLdqxysmy0nECL6Gu8sJXoicw7C+ElFsshcSmy5MAVifslmMf4debDqn/E6hrpNVZ7IKKPESkpwIU7sW0/CeudZDeyJCKWpy9pAhx3bS1pzblv4MSnLUqRT3GUnm7R3Gtlhq7o=

me parece que es en esta instruccion : webClient.DownloadFile(address, NewFileName)
en la Función DownloadFile(ByVal address As String, ByVal Datos As String())

si yo entro a esa dirección dando click en la dirección si puedo descargar el XML desde mi navegador ( por supuesto dando el rfc y contraseña y captcha ).

lo único que note es que ese renglón de datos no tiene los nombres del Emisor y del Receptor.

a alguien le a sucedido esto ?.
Esto me sucede en los CFDI emitidos por Home Deport.
Cuando solo falta el nombre del Emisor o solo el del Receptor no tengo problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Maltrak (34 intervenciones) el 07/02/2018 01:24:52
Hola Jesus, solo tienes que validar si viene nulo o no y ya, porque no siempre voenen toodos los datos, pero si el RFC.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Jesus (4 intervenciones) el 07/02/2018 14:45:38
Gracias Maltrak, Me bloque pensando que el error estaba al descargar el archivo pero no era así y me diste la idea de que era en un arreglo por lo tanto tenia que ser en el parámetro Datos As String().
Yo estaba buscando si el CFDI estaba Cancelado y preguntaba If Datos(10).Trim() = "Cancelado" Or Datos(9).Trim() = "Cancelado" Or Datos(8).Trim() = "Cancelado" Then
Que era donde realmente me capturaba el error.
Lo quise poner así pero no me funciono If Datos(Datos.Length - 1).Trim() = "Cancelado" Or Datos(Datos.Length - 2).Trim() = "Cancelado" Then
Lo acabe dejando de esta manera que si funciono If Datos(Datos.Length - 2).Trim() <> "Vigente" Then

Muchas gracias por tu opinión que me ayudo bastante.

Pregunto si esta Cancelado para ver si ya lo tengo en mi carpeta para borrarlo junto con su PDF..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Moises (12 intervenciones) el 16/02/2018 16:43:35
error-xml
hola, tengo el problema de la imagen en la generacion del XML, alguien tendra alguna idea de que podria ser ? me sale al momento de querer serializar para el complemento de ComercioExterior, gracias.
Adjunto codigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/05/2018 23:00:37
LO DICHO AQUI EL VIDEO PARA ATENTICACION CON FIEL Y DESCARGA MASIVA DE XML HASTA 21,600,000 POR MES

DUDAS ME PUEDEN ESCRIBIR AL CORREO: [email protected]

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cynthia Oribe (1 intervención) el 30/06/2021 14:49:45
Disculpa ¿esta es la función generafirma desofuscada?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gilo (1 intervención) el 02/06/2018 21:04:40
Hola Halcón Divino, trate de bajar el archivo de google drive, pero me dice que está dañado, no se si tendrás otra liga?
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 02/06/2018 21:43:01
GIlo
Trata con otro navegador
O desactiva antivirus.
A mi si me deja descargarlo
Marca algo asi como VISTA PREVIA NO DISPONIBLE
Pero aun asi si te permite descargarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 08/05/2018 03:33:58
Buenas tardes Rafael

Considero que aquí lo mas importante no es que nos publiques un vídeo para mostrarnos tu aplicación, si no que publiques el código de como lo hiciste.

Se supone que desde que se inicio este hilo ese fue el propósito entre todos aportar y no solo servirse de lo publicado, a manera de recordar, tu servido publico la solución a las cookies, como parte de la solución que en un principio se presento, de igual manera considero que se debería de publicar las soluciones que cada uno vaya teniendo.

Saludos cordiales

Gerardo de la Rosa C.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moisesc (9 intervenciones) el 08/05/2018 14:05:54
Gerardo
Es logico que lo que quiere es que lo busquen por correo para $$$$
.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Francisco Courtois (15 intervenciones) el 22/05/2018 05:49:45
Hola a todos,

He estado revisando los mensajes que tienen. Yo estoy haciendo una pequeña aplicación para descargar los comprobantes desde el SAT. Como bien sabrán desde que entró el captcha ha dejado de funcionar. Por razones de tiempo estoy retomando el tema. Actualmente tengo la descarga de los comprobantes (con la limitación impuesta por la autoridad, no he visto como brincar esa limitante) y tengo resuelto el tema del captcha a través del servicio DeathByCaptcha, así mismo tengo ya resuelto la obtención del captcha y guardarlo en un Stream temporal para poder ingresarlo al servicio (puedo compartirlo si desean), lo que no tengo es cómo mezclar los dos procesos sin que se pierda la "instancia" o que no me varíe el captcha, ¿alguno de ustedes lo ha hecho?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 08/05/2018 14:20:24
Buenos días Rafael

No entendí tu comentario, pero si te aclaro que yo no estoy comercializando ningún software ni nada de lo que aquí se publica dado que a mi no me gusta comercializar con el intelecto de los demás, si es a lo que te refieres.

Y si tu comentario va en el sentido de que mi correo aparece en el post, siempre lo he puesto en todos los comentarios que posteo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moisesc (9 intervenciones) el 08/05/2018 15:33:21
y por que no publicar el codigo ? digo no es nada malo comercializar, pero por que no publicarlo si se esta negando que no se quiere vender algo ? ahora si se quiere vender por que no aceptarlo y decirlo abiertamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Reynaldo (5 intervenciones) el 19/07/2022 18:44:51
Amigo me podrias regalar un correo por favor, estoy desarrollando igual mi proyecto, ahi para intercambiar ideas............ saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 07/05/2018 09:17:41
AQUELLOS INTERESADOS PARA DESCARGAR LOS XML CON LA UTENTICACION CON FIRMA ELECTRONICA DESPUES DE MAS DE 5 MESE LO HE LOGRADO CON .NET, EN DOS DIAS MAS TARDAR ESTARE SUBIENDO EL VIDEO DEMOSTRANDO SU FUNCIONAMIENTO CON ACCESO FIRMA ELECTRONICA, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 08/05/2018 19:34:09
Buenas tardes Moisés

Coincido contigo en el sentido de porque no publicar el código.

Inicialmente y si mal no recuerdo, Rafael estaba haciendo su proyecto en php y ahora lo desarrollo en .NET creo que hizo uso de lo que aquí se ha publicado y eso no tiene nada de malo ya que lo que aquí se publica es para eso para uso de todos y si quieres comercializar también considero que no hay problema cada quien le dará su toque particular a su aplicación.

Lo que creo no es adecuado es que alardees que te llevo 5 meses hacer tu aplicación y solo publiques un video en donde nos presumas tu aplicación y no compartas el código ya que para su aplicación el utilizo parte de los códigos que aquí se han publicado.

Y como punto final y para no polarizar este hilo si el considera que no es justo publicar lo que tanto trabajo le costo, pues también es muy respetable su decisión, desafortunadamente es lo que ven mal de los Mexicanos en otros países el oportunismo.

------Yo tomo todo lo que encuentro, pero no comparto. ¿porque?------ (Palabras de muchos compatriotas)

Saludos cordiales a todos y una excelente semana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Gerardo (34 intervenciones) el 08/05/2018 19:56:43
Buenas tardes Moises

Aquí esta la respuesta de porque no publica el código, te dejo esta imagen:

Si ya decía yo que algo no cuadraba, hizo uso de este hilo para hacer su aplicación completa y ahora nos viene a vender su aplicación.
tarifa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moisesc (9 intervenciones) el 08/05/2018 20:09:47
Ps si se me hace algo carito, a mi aunque me dijera no podria (querria) pagarlo, jajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 22/05/2018 18:12:32
Francisco Courtois

Espero te sirva

https://drive.google.com/open?id=1krsf8Rj7yOXyHUswKUR70MNlm-qPvieK

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andrés
Val: 2
Ha aumentado su posición en 37 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Andrés (1 intervención) el 09/07/2018 02:30:49
Hola que tal alguien puede compartir las librerías para exportar a excel y convertir a PDF de manera masiva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por javier (1 intervención) el 30/07/2018 19:32:24
descargue tu codigo amigo, lo revisare para aprender y ver si puedo mejorar mi version
considero que es una excelente aportacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por VICTOR DAVID MONTANEZ CHAVEZ (1 intervención) el 30/06/2021 02:31:08
La funcion generafirma estan en uno de los scripts js pero esta ofuscado el escript pero es asi mira
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//get inicial para obtener el tokenuuid
client.DefaultRequestHeaders.TryAddWithoutValidation("Referer", "https://login.siat.sat.gob.mx/nidp/idff/sso?id=mat-ptsc-totp_Aviso&sid=0&option=credential&sid=0&target=https%3A%2F%2Fwwwmat.sat.gob.mx%2FLAGBroker%3F%2522https%3A%2F%2Fwwwmatnp.sat.gob.mx%2Fapp%2Fseg%2Fcont%2FaccesoC%3Fparametro%3D1%26url%3D%2Foperacion%2F20777%2Fconsulta-tu-opinion-de-cumplimiento-de-obligaciones-fiscales%26target%3Dprincipal%26tipoLogeo%3Dc%26hostServer%3Dhttps%3A%2F%2Fwwwmatnp.sat.gob.mx%2522");
            var response = await client.GetAsync("https://login.siat.sat.gob.mx/nidp/idff/sso?id=fiel_Aviso&sid=0&option=credential&sid=0");
            var responseString = await response.Content.ReadAsStringAsync();
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(responseString);
 
            var input = doc.DocumentNode.SelectSingleNode("//*[@id='tokenuuid']");
            var tokenuuid = input.GetAttributeValue("value", "");
            var tokenfinal = "";
            //generar token y firmar
            if (!string.IsNullOrEmpty(tokenuuid))
            {
                var data = $"{tokenuuid}|{rfc}|{nocert}";
                byte[] bytes = Encoding.ASCII.GetBytes(data);
               // lo que haces es con el certificado firmar el token que se obtiene arriba
                var firmabytes = SingHelper.Sign(bytes, certificado);
                if (!SingHelper.Verify(bytes, certificado, firmabytes))
                {
                    MessageBox.Show("Ocurrio un error al validar la firma");
                    return;
                }
                var firma64 = Convert.ToBase64String(firmabytes);
                firmabytes = Encoding.ASCII.GetBytes(firma64);//hace doble base 64 no se para que
                var final = Convert.ToBase64String(bytes) + "#" + Convert.ToBase64String(firmabytes);
                var finalbytes = Encoding.ASCII.GetBytes(final);
                tokenfinal = Convert.ToBase64String(finalbytes);
            }
 //esta es la funcion para firmar
 public static byte[] Sign(byte[] data, X509Certificate2 privateKey)
        {
            byte[] inArray = data;
            try
            {
                var RSACng = privateKey.GetRSAPrivateKey();
                SHA1CryptoServiceProvider sHA1 = new SHA1CryptoServiceProvider();
                byte[] bCrypto = sHA1.ComputeHash(data);
                inArray = RSACng.SignHash(bCrypto, HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1);
            }
            catch (Exception e)
            {
                var error = e.Message + " " + e.InnerException;
            }
            return inArray;
        }
espero te sirva

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 30/01/2018 01:55:45
Buenas noches

Saludos a todos, quiero preguntarles si les ha pasado que intentan hacer login con rfc, ciec + captcha y aunque los datos sean correctos la pagina del SAT no hace login, los regresa a la misma pagina del login. esto hablando de web scraping.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 30/01/2018 22:14:19
recuerda que las captcha por seguridad duran unos cuantos minutos o segundos, depende de la configuración del captcha, lo que puedes hacer si te pasa, es recargar ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 31/01/2018 05:42:42
CESAR BUEN DIA TE COMENTO QUE YO YA PUDE SOLUCIONAR EL ACCESO POR CAPCHA Y FIEL EN PHP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por César Aguilera (19 intervenciones) el 31/01/2018 06:19:57
Rafa pásame tu correo o número para platicar, igual lo resolví pero he tenido problemas. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Roman Marquez (8 intervenciones) el 05/04/2018 18:43:53
Que tal buen día a todos en este foro.

Alguien de ustedes le interesa un desarrollo web que tiene que ver con la emision de facturas electrónicas?
es un proyecto de 4 a 6 meses calculo yo.

Si están interesados mandarme un correo a [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moisesc (9 intervenciones) el 08/05/2018 19:38:59
A mi me interesa pero uno para llevar contabilidades, hace poco me llego publicidad de un colega que vendia uno con el nombre de kripto software pero tiene tiempo que no me llegan los correos y trate de contactar pero nada... Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ROCIO (1 intervención) el 08/05/2018 21:35:22
gracias por el archivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por mALTRAK (34 intervenciones) el 12/05/2018 04:15:38
aGUAS CON EL KRIPTO SOFTWARE , ES UNA PERSONA QUE SE DEDICA A ESTAFAR, YO LO CONTACTE POR UN FORO IGUAL PARA INSTERCAMBIAR CODIGO Y ME DIO BASURA , RATO DESPUES ME VENDIA UN CODIGO FUENTE DE UN SISTEMA DE FACTURACION SIN QUE SE ACORDARA QUE ME ESTAFO Y LE PEDI UNA DEMO Y ESTABA VENDIENDO MI CODIGO TAL CUAL.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 19 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jael (1 intervención) el 19/07/2018 05:09:04
Chicos me han comentado que el SAT organiza reuniones cada cierto tiempo para informática en la ciudad de México y ahí brindan la documentación de sus servicios web. Si alguien de ustedes conoce a alguien en el SAT que nos pueda orientar, estaría excelente consumir los servicios de forma directa. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por jmvd70 (1 intervención) el 03/08/2018 00:44:37
Saludos Compañero del foro.

Que clase de sistema de contabilidad estás buscando, tengo uno que tal vez te interese.

Llevo varios años haciendo un sistema para despachos contables que está muy completo.

Si gustas lo comentamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Para que sus clientes generen su propia representacion impresa

Publicado por CocoLiso (44 intervenciones) el 27/07/2018 16:40:31
Compañeros, aquí está un programita para que por medio del diseño de una plantilla en Word 97-2003 o 2010 puedan generar la representacion impresa del COMPROBANTE DE INGRESO. El programa es GRATIS.

https://youtu.be/8DmeZtKkUv8
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 30/07/2018 16:45:17
Hola, buen día hoy me lleve la sorpresa de que el sat esta pidiendo capthca para la descarga individual, es decir para descargar uno por uno.

Alguien mas tiene la misma experiencia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 30/07/2018 17:21:40
Es correcto el SAT afectó a todos los proveedores de este servicio.

Ahora pide captcha por cada XML que se desee descargar.

Y se le ocurre al SAT hacer esto en fin de mes será un caos esto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 31/07/2018 18:52:21
Es un doble captcha

Aun que se pudiera resolver desde la aplicación la captura del doble captcha no es funcional el programa ya da lo mismo si se descarga por la pagina web del SAT o lo hicieran por la aplicación ya que esta ya no da un valor agregado a la automatización del proceso.


Puessss . ni hablar …colegas ….. no le veo una solución factible de automatización del proceso de descargas a como estábamos anteriormente del doble captcha.


A menos que pase algo extraordianrio por parte del SAT .... este ciclo de desarrollo de la aplicacion a llegado a su fin.

Y se abrira otro nuevo ciclo de OPORTUNIDADES de desarrollo.


Saludos
Halcón Divino.
Monterrey, N.L.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 31/07/2018 19:00:25
Asi, esto fue el fin, Ya hasta cheque el Valor de la cookie que se le pasa al socket para ver si cambió de posición los elementos de la misma.
Pero pues siguen en su lugar.

Si es cosa de los captchas, estamos mas que fritos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Se rumora

Publicado por Alfonso Torres (7 intervenciones) el 31/07/2018 19:02:56
Esto es lo que esta circulando por los foros, me llego via whats, si alguien mas puede confirmar este rumor.

Proveedor de Certificación,

En relación a la iniciativa para que los contribuyentes cuenten con un servicio de descarga que les permita obtener de forma masiva la información de los CFDI o CFDI de Retenciones que emitan o que reciban, te informamos que el día 6 de agosto de 2018 se liberará una actualización en el servicio de Descarga Masiva, mismo que contará con los siguientes elementos:

1. Portal contribuyente.
En este servicio se amplía la capacidad de descarga de 1,000 a 2,000 facturas por día.
Se mantiene el número de registros que se muestran para su descarga de hasta 500 registros.
El contribuyente podrá descargar los metadatos de las facturas de forma separada de la descarga de los XML.
El contribuyente podrá descargar hasta 1 millón de registros de los metadatos.
Se adiciona la funcionalidad para descargar los CFDI de retenciones tanto XML como Metadatos


2. Servicio Web.
Se publicará en el portal del SAT la documentación técnica para que los contribuyentes puedan usar dicho servicio donde:
· La autenticación será con la e.firma del contribuyente (emisor o receptor).
· Se permite descargar hasta 200,000 XML por solicitud.
· Se permite la descarga de metadatos, hasta 1 millón de registros.
Se adiciona la funcionalidad para descargar los CFDI de retenciones tanto XML como Metadatos

Lo anterior para que puedas hacer del conocimiento de los contribuyentes que usen tus servicios.
Saludos cordiales.

Servicio de Administración Tributaria
Administración General de Servicios al Contribuyente
Administración Central de Gestión de Servicios y Trámites con Medios Electrónicos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Se rumora

Publicado por Eduardo (27 intervenciones) el 31/07/2018 19:41:34
Hemos recibido la misma información.

Algo importante a comentar es como lo están ofreciendo los PACs (nos llegó información de dos), uno de ellos comentaba que era exclusivo para los PACs, pero por la información que hemos visto, cualquier contribuyente lo va a poder invocar.

Con esta información comienzan a salir muchas preguntas:

• ¿La respuesta va a ser en línea, esto es, haces la solicitud y en ese momento te entrega los XML o va a ser asíncrona, donde te entrega un ID y luego consultas el status de dicha solicitud?
• ¿Existe un limite en el número de consultas que puedas hacer en 1 día o en el lapso que se realicen (hora, minuto, etc)?
• ¿Qué filtros vas a poder aplicar (fecha, hora, RFC, etc)?
• ¿Se van a poder descargar XML usando el UUID?
• ¿Se va a poder descargar el acuse de cancelación y el PDF del CFDI?
• ¿Se van a poder descargar cualquier tipo de comprobante (nómina, pago, etc)?

Solo nos queda esperar, que exista dicha web service y que el SAT libere la documentación técnica correspondiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Se rumora

Publicado por Gerardo Garcia (72 intervenciones) el 31/07/2018 19:46:07
Eso si tendría logica, que fuera un Webservice o un acceso API al cual solo tengas acceso los PAC.
Igualmente si se algo les informo, y gracias por el dato
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Javier
Val: 2
Ha aumentado su posición en 15 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Se rumora

Publicado por Javier (1 intervención) el 01/08/2018 00:09:57
aqui hay un vide con esa explicacion
https://www.youtube.com/watch?v=S9C90IUr53s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 31/07/2018 19:21:20
Halcón

Hemos llevado a cabo diversas pruebas para ver si es posible saltarse el captcha pero hasta el momento no hemos logrado nada, aunque aún nos falta probar algunas ideas, la realidad es que todo indica que se deberá de resolver el captcha.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de GERARDO GARCIA
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por GERARDO GARCIA (72 intervenciones) el 31/07/2018 19:38:24
Pero para Resolver un captcha solo se podría mediante el uso de I. A. y Machine Learning.
entrenar un bot de I. A. mediante redes neuronales para que resuelva captchas, ya que el Tesser y los mecanismos de OCR no son tan eficaces

Aun así la I.A. no es exacta, es muy probable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 31/07/2018 19:54:12
Si el comunicado del SAT, que posteo Alfonso, es cierto....En el punto 2 el El SAT va a poner un WebService para la descarga masiva de xml tal como lo hizo para validar los xml.

De ser así ya esta resuelto el problema.


La verdad es mas fasil llamar un webservice que hacer toda la programacion tipo WebBrowser que se hizo con la aplicacion anterior de descarga.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 31/07/2018 19:57:52
Asi es, si es que eso es cierto claro.

Y si es asi, pues eso debieron hacer desde un principio y no hacernos hacer webscrapping como si fuéramos pillos tratando de burlar su sistema
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Adelfo Gallardo (19 intervenciones) el 31/07/2018 21:10:30
Mucho les agradecería que cualquiera que lograra tener información más precisa sobre este tema lo pueda compartir con todos nosotros
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Courtois Garcia (15 intervenciones) el 31/07/2018 21:13:01
Hola,

Revisando creo que lo que es complicado es obtener los datos del updatepanel haciendo webscrapping, ¿alguno sabe algo de ello?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 31/07/2018 21:17:09
Gerardo

Hasta donde sabemos, desde hace varios años el SAT tenía planeado este servicio, es más, algunos comentan que existía un borrador de este.

En un evento que hizo el SAT, hace como 2 años, alguien los cuestiono sobre el tema y por qué no crear un web service y la respuesta es que estaban trabajando sobre el tema, no dieron algo concreto; todo parece indicar que se trataba de un web service.

Esperemos que sea realidad este web service, quitaría muchos dolores de cabeza a los contribuyentes.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Comunicado de Ultima Hora Joaquin

Publicado por Alfonso Torres (7 intervenciones) el 31/07/2018 22:06:31
En un aviso oficial por parte del SAT a los Proveedores Autorizados de Certificación (PAC) menciona que publicará un nuevo servicio de descargas masivas que estará disponible a partir del 6 de agosto, estaremos en espera de las especificaciones técnicas por parte del SAT del nuevo servicio para integrarlo en sus productos- sin embargo esa fecha pudiese cambiar por tratarse de un tema fuera de nuestro alcance, por lo que en paralelo estaremos trabajando en una solución alterna que permita seguir usando los productos CONTPAQi® con la menor afectación al comportamiento de la aplicación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Comunicado de Ultima Hora Joaquin

Publicado por Halcón Divino (196 intervenciones) el 01/08/2018 04:05:55
Es correcto ….

El comunicado que posteo Alfonsó ES OFICIAL Y ES DEL SAT
Yo personalmente contacte a la mesa de ayuda con el PAC que timbro (FINKOK) y esta es la respuesta que me dieron

Hemos verificado con el departamento correspondiente y nos confirman que efectivamente recibieron un comunicado con la información que nos menciona, sin embargo, le hacemos saber que unicamente se recibió el comunicado, por lo que le sugerimos estar verificando la pagina del SAT en la fecha que ahí se indica, ya que es donde se estará publicando la información al respecto.

Quedamos atentos ante cualquier duda o comentario.

¡Saludos
!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Captcha SAT

Publicado por Courtois Garcia (15 intervenciones) el 01/08/2018 04:38:54
Hola,

A pesar de la posibilidad de un servicio web proporcionado por el SAT he estado tratando de seguir con la descarga, sin embargo estoy atorado en cómo enviar al portal el captcha resuelto. Cabe mencionar que uso el servicio de DeathByCaptcha. Anexo código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
do
{
    var captchaPanel = webBrowser1.Document.GetElementById("ctl00_MainContent_Captcha_imgCaptcha");
    while (captchaPanel == null)
    {
        captchaPanel = webBrowser1.Document.GetElementById("ctl00_MainContent_Captcha_imgCaptcha");
        Application.DoEvents();
    }
 
    var doc = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument;
    var imgrng = (mshtml.IHTMLControlRange)((mshtml.HTMLBody)doc.body).createControlRange();
    foreach (mshtml.IHTMLImgElement Img in doc.images)
    {
        if (((mshtml.IHTMLElement)Img).outerHTML.ToString().Contains("ctl00_MainContent_Captcha_imgCaptcha"))
        {
            imgrng.add((mshtml.IHTMLControlElement)Img);
            imgrng.execCommand("Copy", false, null);
            _captcha = (System.Drawing.Image)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
        }
    }
 
    var memoryStream = new MemoryStream();
    _captcha.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    _captcha.Save("captchacfdi.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
 
    var cliente = (DeathByCaptcha.Client)new DeathByCaptcha.HttpClient("", "");
    var captcha = cliente.Decode(memoryStream.ToArray(), DeathByCaptcha.Client.DefaultTimeout);
    var texto = captcha.Text;
 
    var captchaTxtValidar = (mshtml.HTMLInputElement)doc.all.item("ctl00$MainContent$Captcha$txtValidar");
    captchaTxtValidar.value = texto;
 
    var btnCaptcha = (mshtml.HTMLInputElement)doc.all.item("ctl00$MainContent$Captcha$btnCaptcha");
    btnCaptcha.click();
 
    var span = doc.all.tags("span");
    foreach (var s in span)
    {
        if (((mshtml.HTMLSpanElement)s).id == "ct100_MainContent_Captcha_Label1")
            mensajeError = "Error";
    }
 
}
while (!string.IsNullOrEmpty(mensajeError));

Todo va bien hasta llegar a btnCaptcha.click() que es donde no he podido pasar, ¿alguien lo ha intentado?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Violeta (71 intervenciones) el 01/08/2018 16:40:32
MALAS NOTICIAS CHICOS!!, MICROSIP YA LO LOGRO!!

Y No deja rastros de haber usado la recuperación del SAT, ya lo probe.

https://drive.google.com/open?id=1WnDqRi25vZuGuhOFwGZwwCJQ7qJMunCx

Lo que significa que hay otro modo de hacer la descarga sin pasar por el nuevo captcha a darle.

Algo raro es que su firma digital del exe tiene fecha de ‎jueves, ‎7‎ de ‎septiembre‎ de ‎2017 10:14:09 a. m.

*Es decir es una herramienta creada hace 8 meses, lo que me hace pensar que encontraron una liga directa de decarga
del xml en ese tiempo y por eso no les afecto el nuevo captcha.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 01/08/2018 17:01:48
Si, esperemos que asi sea, como ya se ha dicho , todo apunta a que el dia 06 de agosto de 2018 se llevará a cabo.
Y si es de dar gracias su esfuerzo si es que esto se lleva a cabo.

Sin embargo, creo que están muy atrás en tecnologías que podrían usar para gestionar mayor tráfico de datos.
como en vez de usar el Viejo SOAP (Webservices) usar REST que es una tecnología mucho mas rápida, menos tediosa
que en vez de usar peticiones XML usa peticiones JSON.

y quien sabe que sistema usen como su lenguaje de Backend, pero podrían usar cosas tan geniales como nodeJS
que permiten manejar la concurrencia y grandes volumenes de datos sin aumentar el ancho de banda,
haciendo un mejor y mas inteligente de los paquetes de datos, evitando sobrecargas en sus servidores.

Traduciendose en beneficios tanto para ellos como I.T. del SAT, como para nosotros programadores y para los contribuyentes en general.
¿No lo creen?

o ustedes que opinan?

Saludos Cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Gerardo Garcia (72 intervenciones) el 01/08/2018 17:16:25
Violeta.
Creo que te pasó igual a mi, yo también me confié y creo que mi software descargaba las facturas, por que si las descarga. Pero están Huecos, o sea varios y los que no trae peticiones a servidor o Service Unavailable en vez de tener el contenido clásico del XML.

Inclusive lo probé con varias maquinas y con 3 de mis enlaces a internet y sale igual.

Aun así, estaremos al pendiente.
Un Abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Violeta (71 intervenciones) el 01/08/2018 17:18:59
Gerardo
¿Que URL usas actualmente para la descarga?


Que URL usara este programa

http://soporte.microsip.com/LinkClick.aspx?fileticket=MMcGEHxF4VQ%3d&tabid=422
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Gerardo Garcia (72 intervenciones) el 01/08/2018 17:20:50
Este que nos acabas de compartir:
https://drive.google.com/open?id=1WnDqRi25vZuGuhOFwGZwwCJQ7qJMunCx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Captcha SAT

Publicado por Alfonso Torres (7 intervenciones) el 01/08/2018 17:36:59
Ya valide la herramienta, y hace exactamente lo mismo que todos los demas, descarga pura basura, si muestra la informacion, pero los xml baja sin informacion.
Seguimos en la ruta de la investigacion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de plutarco pérez
Val: 27
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por plutarco pérez (14 intervenciones) el 01/08/2018 19:37:26
Violeta

Microsip está igual, te descarga archivos sin sentido con un formato inválido de xml.

De hecho el día de hoy 01/08/2018 cuando entras a la página del SAT la última captcha ni siquiera valida y no te permite descargar nada.

Salud2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Gerardo Garcia (72 intervenciones) el 01/08/2018 19:40:46
Todos estamos en la misma,
Solo queda esperar a que la noticia que se dio acá en el foro sea verdad.

Y si es así, pues:
1) Ya la libramos
2) Como mencionaban los compañeros, obviamente será mas fácil desarrollar para consumir un Webservice, o un REST, que dudo mucho que sea un REST a andar haciendo webscrapping como hemos venido haciendo durante estos años.

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Eduardo (27 intervenciones) el 02/08/2018 03:48:58
Para aquellos que no tengan conocimiento, el día de mañana jueves 2 de agosto a las 12 del día el SAT va a realizar un video chat a través de su canal de YouTube y los temas serán dos:

Comprobantes de pago
Descarga masiva


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Halcón Divino (196 intervenciones) el 03/08/2018 22:22:43
YA ESTA LA DOCUMENTACION DEL WEBSERVICE DE DESCARGA DE XML


https://www.sat.gob.mx/consultas/42968/consulta-y-recuperacion-de-comprobantes-(nuevo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Captcha SAT

Publicado por Gerardo Garcia (72 intervenciones) el 03/08/2018 22:43:36
Perfecto, gracias Halcon Divino.

A estudiar muchachos, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Documentación Web Service

Publicado por Eduardo (27 intervenciones) el 03/08/2018 22:50:54
Para aquellas personas que no encuentren donde esta la documentación (PDF), debe de:

Ingresar a la URL compartida por Halcon Divino

https://www.sat.gob.mx/consultas/42968/consulta-y-recuperacion-de-comprobantes-(nuevo)

Ir hasta el final de la página y veran un encabezado que dice Contenidos Relacionados ahí se encuentran los 6 PDFs que hasta el momento ha liberado el SAT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Documentación Web Service

Publicado por Halcón Divino (196 intervenciones) el 04/08/2018 00:39:34
Colegas


Ya leí la documentación
Al parecer las url de los WS aun no están dados de alta

Pero independientemente de lo anterior
No entiendo como hacer la AUTENTIFICACION con le eFirma para obtener el Token y generar la SIGNATURE


Alguien que postee un ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Documentación Web Service

Publicado por Gerardo Garcia (72 intervenciones) el 04/08/2018 01:29:05
Estoy en las mismas, no me queda muy claro como pasarle la e.Firma como parámetro al WS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Documentación Web Service

Publicado por Gerardo Garcia (1 intervención) el 06/08/2018 17:02:21
Hola que tal, si, aparentemente no apuntan a ningún lado esas URLs

y para acabarla de amolar los del chat del SAT de "Soporte Técnico", están super estupidos.


No saben ni de que hablo, todavía les dije, el día viernes dieron una conferencia o videochat
por su canal de Youtube del SAT.

después publicaron las URL's para consumir el Webservice, pero aparentemente no apunta a ningún lado.

Y me dice: "O sea su pregunta es que no puede descargar el video de la conferencia verdad?????"

y le dije: NO señorita, este video chat se dio para nosotros los desarrolladores, lo que intento saber es que pasa con el webservice
por que no funciona .

y me dijo: mmm déjeme ver voy a preguntar.

Y ZAZ, me cortó.

Y ya van varias veces que intento tener respuesta de parte de ellos y no logro nada.
No se si ustedes ha logrado tener respuesta.


Según un fiscalista nos dijo que habría respuesta para el 10 de agosto.
pero pues quien sabe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Aleks (42 intervenciones) el 06/08/2018 18:25:25
Siguen sin estar habilitadas las ligas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (1 intervención) el 06/08/2018 18:27:16
Diría el Loco Mausan:

... Y nadie, hace nadaaaaaa!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro (10 intervenciones) el 06/08/2018 19:01:02
Las ligas parece ser si están habilitas porque mandan un error 400 lo cual quiere decir que faltan datos en el request, cosa que es lógica entendiendo que se trata de un webservice, dicho webservice carece de una caratula en donde expone los parámetros que acepta al realizar las peticiones y debo decir que la documentación técnica no es muy amigable, esperemos que pronto publiquen algún documento en donde expliquen los pormenores de mejor manera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 07/08/2018 23:36:21
Lo curioso es que cuando pones las URL de Webservice, empezando por la de autenticación.
Aun usando Herramientas de gestión de SOAP, da error.
también con Svcutil que arroja los WSDL del servicio, también allí da error

Pero suponiendo que no fuera eso, puede ser quizás que no se vea nada o de ese error 404
porque necesita antes autenticarse con el .CER y con el .KEY que aparentemente estos dos forman parte del Certificado X509

que algunos crear un certificado .PFX que combina el .CER + el .KEY y por eso no se vea nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 07/08/2018 23:45:17
COLEGAS
AYUDA !!!!

No entiendo como hacer la AUTENTIFICACION con le eFirma para obtener el Token y generar la SIGNATURE para poder usar los webservice.

Si pudieran postear un programa ejemplo

Se los agradecería
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 07/08/2018 23:57:08
Yo rascando vi esto en otro foro.
Corriendo el peligro a que borren esto o que me expulsen.
La verdad es que me vale gorro.

Es para un bien comunicado y de la comunidad.
Les publico este enlace que hablan que alguien ya lo está trabajando el Delphi:

http://validacfd.com/phpBB3/viewtopic.php?t=958&start=10
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Aleks (42 intervenciones) el 08/08/2018 00:03:20
Pero ellos están apuntando a la siguiente url https://pruebacfdirecepcion.cloudapp.net/Seguridad/Autenticacion.svc/wsdl?singleWsdl, la verdad no se si sea la misma que para el servicio de descarga masiva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 08/08/2018 00:08:36
Es cierto, tienes razón, es distinta la Liga.

La que publicaron en el SAT es la Siguiente:
https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/Autenticacion/Autenticacion.svc
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro (10 intervenciones) el 08/08/2018 00:43:29
Efectivamente, la url posteada por Aleks si funciona y muestra una definición y como comenta Gerardo difiere, pero si vemos la definición de ambas (de la que no sirve se puede leer en el envelope que pone el SAT en su documentación) se pudiera decir que es lo mismo, igual no estaría demás probar extraer la definición de ese WSDL y probar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 08/08/2018 00:07:02
Gerardo

Muchas Gracias !!!

Deja ir al foro de enfrente para ver que encuentro
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 08/08/2018 00:09:58
Gerardo

Revisando el link que nos compartiste:

La url que estan manejando https://pruebacfdirecepcion.cloudapp.net/Seguridad/Autenticacion.svc?wsdl si responde, esto es lo escribes en la navegador te muestra la definicion del web service.

A diferencia el web service del SAT da 400, esto es, "The HyperText Transfer Protocol (HTTP) 400 Bad Request response status code indicates that the server could not understand the request due to invalid syntax."

Sigo pensando que aun no esta disponible el web service
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 08/08/2018 00:14:01
Eso también he pensado, aunque también me entra la posibilidad de que sea una especie de Webservice especial que no muestre nada si no está autenticado.


Porque el Webservice de Validación de un solo CFDI, si funciona así, y así termina "SVC?singlewsdl" y te arroja la definición del WebService y con este mismo puedes invocar sus funciones, yo asi lo uso.
https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc?singleWsdl



Pero este web service nuevo del SAT no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 08/08/2018 00:18:08
Si lo pones ?singleWsdl tambien te muestra información

https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc

aunque también me entra la posibilidad de que sea una especie de Webservice especial que no muestre nada si no está autenticado.
Personalmente no creo, ya que no tiene sentido esconder la definición, aunque con el SAT debemos esperarnos lo que sea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Courtois Garcia (15 intervenciones) el 08/08/2018 00:15:00
Es correcto, también sospecho que los servicios no están publicados.

The request failed with HTTP status 400: Bad Request.
Metadata contains a reference that cannot be resolved: 'https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/Autenticacion/Autenticacion.svc'.
Content Type application/soap+xml; charset=utf-8 was not supported by service https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/Autenticacion/Autenticacion.svc. The client and service bindings may be mismatched.
The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..
If the service is defined in the current solution, try building the solution and adding the service reference again.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro (10 intervenciones) el 08/08/2018 00:38:19
Courtois, el código que te mando es el 415, lo cual quiere decir que te respondió e inclusive te dice que el contenido fue de tipo application/soap+xml y el esperado era text/xml (lo cual es lo correcto según desde ayer investigue en internet), lo cual es un tema de headers que muy probablemente se resuelva con alguna configuración del cliente soap que estés utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Aleks (42 intervenciones) el 08/08/2018 17:01:55
En donde encontraste esa liga? (A mi no me funciona)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro (10 intervenciones) el 08/08/2018 02:33:44
Según leí en la noticia de la liga, el cambio se realizaría hasta el fin de semana, esperemos que la persona que redacto el reportaje haya entendido mal y para el día de mañana tengamos la plataforma anterior.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo Garcia
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo Garcia (72 intervenciones) el 08/08/2018 21:29:34
Hay no, que horror.
No yo creo que en el CHAT del SAT contratan a puro becario, hasta para soporte técnico, nada mas les han de pedir que sepan medio moverle al navegador pequeñeces así.

Los de Soporte Tecnico me mandan a Información Fiscal y viceversa, alguno de ustedes lo ha intentado?

Al menos esta señorita, me dijo mas cosas y no me cortó a la primera.
Lo que me cayó en gracia fue lo siguiente:

NO ME HAN REPORTADO NINGUNA FALLA RESPECTO AL SISTEMA DE DESCARGA MASIVA DE FACTURAS QUE PERMITE DESCARGAR 2000 XMLS AL DIA.

Y digo yo, pues como van a reportarle fallas, si no creo que haya un solo ser humano que haya logrado consumir su webservices?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de CocoLiso
Val: 46
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por CocoLiso (23 intervenciones) el 08/08/2018 21:45:55
JAJAJAJAJAJA...
¿No será esto un "plus" que solo ofreceran los PACS?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo García
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo García (72 intervenciones) el 08/08/2018 22:45:55
Pues no lo dudes, que casualidad que solo a cierto grupo hasta las dan un KIT de Desarrollo con un ejemplo en C# junto con un CER y un KEY para hacer el Certificado x509 y a los demás nos mandan al demonio.


Pero entonces que caso tiene que pongan la info de los webservice al publico en general, mínimo deberían ser derechos y decir que solo tendrán acceso los PAC. Así no nos hacen perder nuestro tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 09/08/2018 00:21:19
Buenas tardes

Ya logre obtener la siguiente respuesta del servicio de autenticación...

1
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">a:InvalidSecurity</faultcode><faultstring xml:lang="en-US">An error occurred when verifying security for the message.</faultstring></s:Fault></s:Body></s:Envelope>

Me hace pensar que no estoy formando bien el valor del nodo wsse:BinarySecurityToken

¿Alguien sabe como formarlo correctamente?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alejandro (10 intervenciones) el 09/08/2018 00:47:24
Si lo estas haciendo en C# y estas utilizando BasicHttpBinding fijate que BasicHttpSecurityMode este como TransportWithMessageCredential, puede que sea eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 76
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Aleks (42 intervenciones) el 09/08/2018 00:56:44
Hola que tal Cesar,

Podrías postear como es que estas realizando la llamada?

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 09/08/2018 08:37:58
Colegas

Propongo que creemos otro hilo en este foro debido a:

1. Esta muy pesada la página y tarda mucho en cargar

2. El objetivo inicial era hacer la descarga a través de la técnica conocida como scrapping, ahora todos los esfuerzos se centran en hacer uso del web service del SAT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Gerardo
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo (72 intervenciones) el 09/08/2018 08:50:36
Creo que tienes mucha razón ,el motivo de este hilo era hacer las descargas masivas haciendo WebScrapping.

Ahora lo que debemos de hacer es enfocar nuestros esfuerzos para Consumir ese webservice.

Por otra parte me llama mucho la atención en el manual del SAT que dice que vea uno según su plataforma para ver como crear el cliente.
Aunque según veo, corríjanme si me equivoco, lo mas posible es que solo se pueda hacer para consumirse en Window, acaso Android y iOS.

Hasta donde he estado leyendo no es un Webservice ordinario, es un WCF o (Windows Communication Foundation), que aparte tiene Seguridad, que dicho protocolo es el de una compañía llamada Oasis.


La idea por ahora será tratar de hacerlo como el SAT lo hace, usando Visual Studio ya sea .NET o C#.

Por otra parte, aparentemente tendré que descargar Visual Studio .NET 2015, ya que descargue el nuevo Visual Studio Community que es Multiplataforma con Xamarin. pero no logro algo en concreto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Alfonso Torres (7 intervenciones) el 09/08/2018 15:10:35
Compañeros, amanecemos con la buena nueva, el SAT hecho para atras por el momento todo, y las descargas de los xml se ha reanudado sin tener que utilizar las captchas, esto lo confirmo por que mi aplicación ya funciona.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo
Val: 60
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Eduardo (27 intervenciones) el 09/08/2018 18:15:04
Confirmado, ya esta funcionando, tal y como estaba antes.

Gracias por el dato y aprovecho la oportunidad para invitar a todos a usar el otro hilo creado para el web service.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Adelfo Gallardo (19 intervenciones) el 14/08/2018 22:46:43
En teoría ya estaba como estaba antes pero desafortunadamente tenemos la limitante de los 2000 comprobantes por día, nosotros nos dimos cuenta el fin de semana y nos está causando el problema de que no podemos descargar todos los comprobantes pendientes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo (72 intervenciones) el 14/08/2018 23:24:46
asi es, en mi caso Hice una consulta anual de un RFC.
en el cual tengo 6,108 XMLs de los cuales primero no se porque un día me bajó 4,000.00
pero hoy probé a descargar los mismos y solo pude descargar 2,000 y los otros se quedaron en la nada.

Después quise hacer una consulta simple, mensual y no descargó absolutamente nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 07/11/2018 05:39:58
Hola a todos!! y retomando este hilo...

Premisa 1: Hay un programa de descarga que en su publicidad anuncia que es el único software capaz de descargar 10 mil XML por día.

Premisa 2: Tope de descargas por día por empresa es de 2000 XML, establecido por el SAT.

Y como nosotros sabemos el SAT desde 01 de agosto modifico su portal e incremento los caracteres de la url para tener el control de XML descargados por empresa por día, estableciendo un límite de 2000 por día, posterior ese tope aparece un mensaje “Ya no puedes descargar más documentos, espera hasta mañana.”.

Entonces si la premisa 1 es posible, me puse husmear el código y encontré unos elementos y realice pruebas cambiando estos valores:


1
2
3
4
var hfDescarga = document.getElementById('hfDescarga');
hfDescarga.value == "CuotaParcial"
hfDescarga.value == "CuotaCompleta"
if (hfDescarga.value == "CuotaLibre")


Entonces forzando cada descarga el elemento hfDescarga con valor en CuotaLibre cada que se descarga un XML nuevo, pude romper el límite de 2000 a 2167, significa que por ahí va en asunto; y se los comento para que todos hagamos pruebas y encontremos el bug para superar el límite establecido por el SAT y regresar a la normalidad como antes y no depender del lento y tardado web service.

Mi teoría es que podemos manipular todo el frontend que esta con javascript, forzando la bandera; porque si llega al backend entonces el bloqueo ya no lo podemos contener y debemos esperar forzosamente hasta el siguiente día.

Lluvia de Ideas chicos y chicas, si podemos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por moises (12 intervenciones) el 08/11/2018 00:01:17
Hola, tienes la descarga del codigo que probaste para descargarlo y realizar las pruebas y modificaciones ? asi poderte comentar.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gerardo
Val: 154
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Gerardo (72 intervenciones) el 16/11/2018 18:41:46
Pero aun si fuera así, la gente del SAT anda leyendo y lo mas posible es que tapen ese "BUG"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por moises (8 intervenciones) el 16/11/2018 18:37:20
Hola, en el codigo que tengo sale un error o mensaje "Archivos descargados = 0" no descarga ningun archivo, creo que no obtiene correctamente el listado de los archivos seleccionados o listados, tienen idea de donde esta ese problema ? gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Cesar Aguilera (19 intervenciones) el 16/11/2018 19:50:27
Hola, el SAT agrego unas columnas en la tabla de resultados y los nodos donde se encontraba la liga de descarga. depende como leas el HTML estos cambios te pudieron afectar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por moises (8 intervenciones) el 16/11/2018 20:01:55
Pues lo tengo practicamente como originalmente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Dim regex As Regex = New Regex("'.*?'")
    If (Not (Me._wbSat.Document Is Nothing)) Then
        Dim elementsByTagName As HtmlElementCollection = _wbSat.Document.GetElementsByTagName("table")
        For Each objhtmlElement As HtmlElement In elementsByTagName
            For Each objelementsByTagName As HtmlElement In objhtmlElement.GetElementsByTagName("tr")
                Dim elementsByName As HtmlElementCollection = objelementsByTagName.GetElementsByTagName("img").GetElementsByName("BtnDescarga")
                'Dim elementsbytagname As HtmlElementCollection = objelementsByTagName.GetElementsByTagName("img").getel
                'If (elementsByName.Count = 1) Then
 
                Dim vurlXmlFile As String = String.Format("https://portalcfdi.facturaelectronica.sat.gob.mx/{0}", regex.Match(elementsbytagname(0).OuterHtml).Value.Replace("'", ""))
                Dim vCfdiInfo As IEnumerable(Of HtmlElement) = objelementsByTagName.GetElementsByTagName("span").OfType(Of HtmlElement)()
                Dim vCfdiInfoStr As String = String.Empty
                For Each cfdiElement As HtmlElement In vCfdiInfo
                    If Not String.IsNullOrEmpty(cfdiElement.InnerText) Then
                        vCfdiInfoStr = String.Concat(vCfdiInfoStr, cfdiElement.InnerText, "|")
                    End If
                Next
 
                Dim vArrCfdiInfo As String() = vCfdiInfoStr.Split(New Char() {"|"c})
 
                System.DateTime.TryParse(vArrCfdiInfo(5), dateTime)
                Dim vPath() As String = {Me.lblDownloadPath.Text, Me.txtRFC.Text.Trim().ToUpper(), Nothing, Nothing, Nothing, Nothing}
                vPath(2) = If(rbtReceived.Checked, "Received", "Sended")
                Dim vyear As Integer = dateTime.Year
                vPath(3) = vyear.ToString("0000")
                vyear = dateTime.Month
                vPath(4) = vyear.ToString("00")
 
                vyear = dateTime.Day
                If CheckBox1.Checked = True Then
                    vPath(5) = vyear.ToString("00")
                End If
                Dim vfullPath As String = String.Join("\", vPath)
                If (Not Directory.Exists(vfullPath)) Then
                    Directory.CreateDirectory(vfullPath)
                End If
                Dim vxmlFile As String = Path.Combine(vfullPath, String.Format("{0}_{1}_{2}.xml", vArrCfdiInfo(1), vArrCfdiInfo(3), vArrCfdiInfo(0)))
                Try
                    'Timer2.Enabled = True
                    'Do While Timer2.Enabled
                    '    total = total
                    'Loop
 
                    Me.DownloadFile(total, vurlXmlFile, vxmlFile)
 
                Catch
                    Me.Message(String.Format(total & ".Creando el archivo {0}.ERROR", vxmlFile))
                    MsgBox("Error al descargar..." & Format(dateTime, "yyyy/mm/dd") & vArrCfdiInfo(0))
                    Errores = Errores + 1
                End Try
 
                total = total + 1
 
            Next
        Next
    Else
        flag = True
    End If
    Message("Proceso terminado... " + total.ToString() + " archivos descargados, " & Errores & "errores ")
    If Val(total.ToString) = 0 And Val(Errores) = 0 Then
        Message("No se descargó ningun archivo, seleccionó los archivos antes de dar el botón descargar ?, si no lo realizó salga e intente de nuevo.")
    End If
    MsgBox("Proceso terminado... " + total.ToString() + " archivos descargados, " & Errores & " Errores.")
    Process.Start(lblDownloadPath.Text)
    TabProceso.SelectedTab = TabProceso.TabPages("TabPage1")
Catch exception As System.Exception
    MsgBox(Err.Description & " " & exception.Message)
    'Throw New System.Exception(exception.Message)
End Try
flag = False



gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 20 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Jonatan (1 intervención) el 20/12/2018 18:28:40
Buen día

Cambia las siguientes lineas

objelementsByTagName.GetElementsByTagName("img").GetElementsByName("BtnDescarga")
'Dim elementsbytagname As HtmlElementCollection = objelementsByTagName.GetElementsByTagName("img").

por

objelementsByTagName.GetElementsByTagName("span").GetElementsByName("BtnDescarga")
'Dim elementsbytagname As HtmlElementCollection = objelementsByTagName.GetElementsByTagName("span")

el SAT hizo cambios en el html que lee el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por moises (8 intervenciones) el 17/11/2018 16:18:29
A que te refieres con que cambio los nodos donde se encontraba la descarga, cambio la URL ? tienes la nueva URL ?
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (44 intervenciones) el 04/12/2018 15:43:25
No cambiaron las urls, son las mismas. CREO que tu problema es en cuanto recojes la ruta o id, como gustes llamarlo, de los xmls a los cuales les agregas "https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?Datos=" para descargarlos ya que el SAT le agregó unos datos extras a cada "linea" del resultado en la consulta.

Para que no te compliques, entra con el navegador al SAT para consultar algunos xml y mira el código de la página para que te des cuenta del cambio.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 02/01/2019 17:17:28
@CocoLiso

Podrías ampliar en este tips para superar la barrera de 2000 XML que aplica el SAT a descargas mediante HTML.

Lei en otro post que ya solucionaste la limitante de descarga.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (44 intervenciones) el 18/01/2019 15:43:29
Qué tal, @Violeta, así es, de hecho el código que iba a subir en el otro hilo para que lo checaran ya lo hacía, pero como uno de los participantes comentó que que no era lugar para hacer negocios (yo nunca puse que lo estaba vendiendo), opté por no compartirlo, no se en qué forma lo afectaba que lo hiciera, pero bueno.

Invertí tiempo en desarrollar la consulta a través de POST/GET y déjame decirte que son muy rápidas las respuestas, tanto que volví a reprogramar lo concerniente a la descarga y le puse una pequeña validación. Si gustas ver cómo trabaja y estas dispuesta a perder unos minutos de tu valioso tiempo te puedo enviar un enlace para que veas un video de cómo trabaja, claro, si antes me pasas un correo para hacértelo llegar.

Creo que así como dice el SAT que va a desaparecer este método de descarga no conviene que se invierta tiempo en desarrollo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 18/01/2019 18:47:22
@CocoLiso

Gracias a tus animos tambien he podido rebasar el limite, solo estoy afinando unos detallitos.
mi correo es [email protected]

Con gusto podemos colaborar.

Gracias por tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jaime (3 intervenciones) el 30/01/2019 04:56:09
Cocoliso a que correo te puedo contactar, el mio es [email protected] urge contactar te, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ariane (7 intervenciones) el 21/03/2019 01:24:33
Buenas tardes Cocoliso, yo tengo una aplicacion para la descarga, pero estoy batallando con la limitanto de los 2000 diarios, pudieras ayudarme orientandome un poco como libraste esta validacion, te dejo mi correo es [email protected].
espero puedas ayudarme
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de CocoLiso
Val: 46
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por CocoLiso (23 intervenciones) el 21/03/2019 04:34:22
Hola, @ariane, realmente no fue mucho el apoyo que le brindé a @Violeta, todo el mérito es de ella. Yo ya vendí el proyecto y estoy en otros menesteres, talvez @Violeta pueda ayudarte.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 04/04/2019 01:06:10
Que tal colegas !!!

He estado usando el Web Service

El detalle que tengo es que algunas solicitudes me las RECHAZA
Y para poder descargar lo que hago es jugar con el periodo ya sea agrandándolo o reduciéndolo o haciendo 2 o 3 o 4 o mas solicitudes del periodo y pues es un gorro porque a veces la acepta … pero no siempre por lo general las RECHAZA
Y pocas ocasiones vuelvo a solicitar la descarga con los mismos parámetros y la acepta

Como no dice la causa del RECHAZO pues ni como entender porque las RECHAZA

Que experiencia han tenido con las solicitudes rechazadas ???
Que regla de negocios creen que implemento el SAT para RECHAZAR solicitudes ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por zboy (1 intervención) el 04/04/2019 20:24:22
Tal parece que comenzó a rechazar las descargas desde el día de ayer (3 de abril, 2019). El servicio está intermitente. Antes del día mencionado no noté ningún error (lo usamos a diario).

He notado que los rechazos son cuando le hacemos una solicitud con los mismos parámetros más de 1 vez. Sin embargo, desde ayer noté que comenzó a rechazar así nada más.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 04/04/2019 20:43:52
Como que hoy dia 4 de Abril ya amanecio de buen humor el web service .... ya pude descargar sin problemas las solicitudes

Ayer 3 de abril fue todo un lio con el web service


Ni mas que decir... como que de repente el WS se atora y pues solo nos queda esperar a que se normalice el servicio.



Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 28 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Daniel (2 intervenciones) el 10/04/2019 16:41:15
Hola @Violeta disculpa el atrevimiento pero me gustaría saber si pudieras compartir tu proyecto que supera la barrera de los 2mil xml. Vi que originalmente fue Cocoliso pero dice que ya vendio el proyecto y redirecciona contigo en un post más abajo... ¿podrías hacerme ese gran favor de compartir ese proyecto? Prometo que es para investigación personal.

Sea cual sea la respuesta y de cualquier forma, muchas gracias de antemano.

Cambiando de tema, en estas hrs (9) que he estado en el foro he podido ver que es una gran comunidad y en la mayoria la esencia es buena (claro nunca faltan los gandallas que solo vienen a copiar para sacar provecho) pero por lo mismo que es una gran comunidad los mismo masters de aqui ya saben como funcionan y aun así hacen labor a la patria manteniendo esa fraternidad del bien comun, en verdad felicidades a todos ustedes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Guillermo (2 intervenciones) el 24/05/2019 07:13:37
Hola, no quiero que parezca publicidad porque tambien comente en el otro hilo.
Durante un tiempo lei mucho estos foros para poder entender como funcionaba el web service y poder hacer mi trabajo.
Asi que mi modo de retribuir es compartirles el repositorio de la libreria que hice, basandome en la de SmarterWeb, pero para Python.
El link es este https://github.com/guillermo11bq/sat-descarga-masiva-python

Espero que sea util para alguien, saludos :)
PD: Me di cuenta que es el hilo equivocado, creo que aqui es para soluciones con Web Scrapping, pero ya no pude borrar el comentario... este repo es para utilizar el web service oficial, con e.firma... perdon
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Daniel (1 intervención) el 20/07/2020 22:02:36
Hola Violeta, podrias ayudarme para saber como rebazar el Limite de 2000 xml???

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Alberto Poot (1 intervención) el 23/03/2022 16:32:43
"Si gustas ver cómo trabaja y estas dispuesta a perder unos minutos de tu valioso tiempo te puedo enviar un enlace para que veas un video de cómo trabaja, claro, si antes me pasas un correo para hacértelo llegar"

Buen día @CocoLiso, te dejo mi correo ([email protected])
Me interesa conocer el código en que lograste rebasar la meta de los 2,000 XML por día.
Cómo podría contactarte?

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Adelfo Gallardo (2 intervenciones) el 05/06/2019 23:31:59
Buenas tardes,

Tengo un cliente con el que estamos haciendo solicitudes para descarga masiva al SAT pero no se puede generar la solicitud por que siempre obtenemos la respuesta 404 Error no controlado, ahí en este caso a alguien le ha sucedido? y podía orientarme en que se debe de hacer?

Saludos
agallardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 17/08/2019 11:08:16
ADELFO GALLARDO, TE COMENTO QUE ESE ERROR 404 ES POR QUE LOS METODOS DEL WEBSERVICE NO ESTAN VISIBLES, YO TUVE QUE USAR EL METODO SOAP REQUEST, RESPONSE, CONTRULLENDO EL XML MANUALMENTE ENVIADO AL WS SI TIENES MAS DUDAS ME PUEDES ESCRIBIR AL CORREO [email protected].


SOAP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 30/08/2019 18:27:34
fix


update

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HtmlElement elementByError = this.webBrowser_contribuyte.Document.GetElementById("divCaptcha");
if (!(elementByError == null))
{
    foreach (mshtml.IHTMLElement Img in Doc.images)
    {
 
        limpieza = Img.getAttribute("src").ToString();
    }
 
 
    string data = @limpieza;
    var base64Data = Regex.Match(data, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
    var binData = Convert.FromBase64String(base64Data);
 
    using (var stream = new MemoryStream(binData))
    {
        PictureBoxCaptcha.Image = new Bitmap(stream);
 
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rosaura (5 intervenciones) el 03/09/2019 05:05:15
Hola alguien sabe si hay alguna URL nueva ya que aunque logro obtener en nuevo captcha no iniciar sesión exitosamente. Esta es la liga con la que hasta el 29 de agosto 2019, pude bajar facturas exitosamente
1
https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 03/09/2019 18:38:00
Crackneo

HOLA !!!!


Ya vi tu FIX
A lo que yo le entiendo es para cargar la nueva IMAGEN del CAPTCHA

En el entendido de que no se podia ver el esta nueva imagen ...

El detalle es que sin aplicar tu FIX puedo ver la nueva imagen del CAPTCHA por lo tanto no lo implemente ya que como te repito si puedo ver el CAPTCHA

No entiendo o ne veo la relacion si aun asi veo el nuevo captcha lo cambio por tu FIX ???

Crees que con eso se pueda ya descrgar o logearse correctamente ???

Tu con este FIX si puedes ahorita decargra los xml ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 03/09/2019 20:11:48
Yo sí puedo descargar los XML


Cambiaron 2 cosas
1 mostrar el CAPTCHA nuevo, lo mandan por base 64
2 el campo del CAPTCHA, la caja sobre recibe él texto se llama diferente usercaptcha

La ruta que uso es portalcfdi.facturaelectronica.sat.gob.mx/consultareceptor.aspx


Que error te manda amigo???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (23 intervenciones) el 03/09/2019 20:27:36
Tú tienes:

https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar

Y es:

https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0&Ecom_User_ID={0}&Ecom_Password={1}&userCaptcha={2}&submit=Enviar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 03/09/2019 20:33:03
Este es el codigo como me Autentifico o me logeo a la pagina del SAT .

Que es lo que cambiaria en esta rutina o metodo ???

Como quiera tendria que cambiar la forma en como se presenta el CAPTCHA por tu FIX Crackneo ????


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
private void Authenticate()
    {
        try
        {
            this.Message(string.Format("Iniciando sesion del usuario {0}.", gUsuario.Trim().ToUpper()));
 
            string postData = string.Format("&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar", gUsuario, gPassword, gCaptcha);
 
            System.Text.Encoding encoding = System.Text.Encoding.UTF8;
            byte[] bytes = encoding.GetBytes(postData);
 
            _wbSat.Navigate(_wbSat.Url, string.Empty, bytes, "Content-Type: application/x-www-form-urlencoded");
 
            #region ESPERA A QUE SE CARGUE LA PAGINA WEB Y SE PROCESE EL METODOD wbSAT_DocumentCompleted
            SeProcesoWB_SAT = false;
 
            Intentos = 0;
            while (true)
            {
                Application.DoEvents();
                if (!this._wbSat.IsBusy)
                {
                    //      break;
                    //_wbSat.Navigate("https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx");
 
                    if (SeProcesoWB_SAT)
                    {
                        break;
                    }
 
                    if (Intentos > 100000)
                    {
                        this.Message("CONTRASEÑA CIEC ..... ");
                        //  this.Message("AVISO IMPORTANTE: CONTRAEÑA CIEC INCORRECTA  " + Intentos.ToString());
                        break;
                    }
                    Intentos = Intentos + 1;
                }
            }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 03/09/2019 20:33:16
yo lo uso asi


this.WebBrowser.Document.GetElementsByTagName("input").GetElementsByName("Ecom_User_ID")[0].SetAttribute("value", this.txtRfc.Text);
this.WebBrowser.Document.GetElementsByTagName("input").GetElementsByName("Ecom_Password")[0].SetAttribute("value", this.txtPassword.Text);
this.WebBrowser.Document.GetElementsByTagName("input").GetElementsByName("userCaptcha")[0].SetAttribute("value", this.txtCaptcha.Text);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 03/09/2019 20:44:00
que ruta base usas ?

esta bien tu metodo no le veo problema, solo cambiar esta

postData = string.Format("&Ecom_User_ID={0}&Ecom_Password={1}&jcaptcha={2}&submit=Enviar", gUsuario, gPassword, gCaptcha);


por :
postData = string.Format("&Ecom_User_ID={0}&Ecom_Password={1}&userCaptcha={2}&submit=Enviar", gUsuario, gPassword, gCaptcha);




Mi fix es para mostrar el captcha que anteriormete era jcaptcha.jpg y ahora es en datos64

mi interfaz es Grafica y si estoy descargando XML

quieres mi correo ? @gmail.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Halcón Divino (2 intervenciones) el 03/09/2019 21:25:09
Crackneo

Déjame hacer unas pruebas

Para ver si con eso puedo descargar los xml

Si pásame tu correo

O bien enviamelo a
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 03/09/2019 23:34:51
//utilizo para visualizar el Captcha
private void GetCaptcha2()
{
var _img=string.Empty;
mshtml.IHTMLDocument2 Doc = (mshtml.IHTMLDocument2)webBrowser1.Document.DomDocument;
HtmlElement elementByError = this.webBrowser1.Document.GetElementById("divCaptcha");
if (!(elementByError == null))
{
foreach (mshtml.IHTMLElement Img in Doc.images)
{
_img = Img.getAttribute("src").ToString();
}

string data = @_img;
var base64Data = Regex.Match(data, @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value;
var binData = Convert.FromBase64String(base64Data);

using (var stream = new MemoryStream(binData))
{
PictureBoxCaptcha.Image = new Bitmap(stream);
}
}
}



//Utilizo para Logearme

private void btnEntrar_Click(object sender, EventArgs e)
{
string sRfc = string.Empty;
try
{
this.webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("Ecom_User_ID")[0].SetAttribute("value", this.cmbAccount.Text);
this.webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("Ecom_Password")[0].SetAttribute("value", this.txtPassword.Text);
this.webBrowser1.Document.GetElementById("UserCaptcha").SetAttribute("value", this.txtCaptcha.Text); // sep 2019 cambio para recuperar el captcha "jcaptcha" por "UserCaptcha"
//this.webBrowser1.Document.GetElementById("submit").InvokeMember("click"); // si funciona, pero sale ventana emergente (Desbordamiento de pila)
this.webBrowser1.Document.GetElementById("submit").Focus(); SendKeys.Send("{ENTER}"); // con este similar no, todo ok

while (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
int nNum = 0;
while (true && nNum < 1000000) // checamos si ya esta autentificado (si no, a las 100000, se sale y recarga pagina con nuevo captcha)
{
Application.DoEvents();
HtmlElement elementById = this.webBrowser1.Document.GetElementById("ctl00_LblRfcAutenticado");
if (!(elementById == null))
{
sRfc = this.webBrowser1.Document.GetElementById("ctl00_LblRfcAutenticado").InnerText;
this.Message(string.Format(" {0}", sRfc));
break;
}
nNum++;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 04/09/2019 00:35:28
!!!!!!!

Muchas Gracias COLEGAS por el apoyo




Ya pude remediar la Descarga cambiando el nombre del objeto CAPTCHA de jcaptcha por userCaptcha

Prácticamente fue el único cambio que le hice al programa ........ ya que la imagen del captcha en mi caso no requirió FIX.

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rosaura (5 intervenciones) el 08/09/2019 20:49:09
Gracias!!!!!! Eso era todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carl
Val: 8
Ha disminuido su posición en 9 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Carl (4 intervenciones) el 20/01/2020 16:42:06
Hola Halcon Divino

Tienen algún repo donde mantengan los cambios del código?

O donde se puede descargar?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 20/01/2020 18:07:54
Carl

No los tengo actualizados

Ando con muchos pendientes

Yo espero en el transcurso de la semana publico una url con los últimos cambios que se le han hecho al código y con gusto se los paso.



Saludos .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar

Descarga Masiva XML SAT

Publicado por Ed (1 intervención) el 05/09/2019 21:34:39
Cómo generan la uri para la descarga con web client?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 17/09/2019 20:30:38
lee el foro amigo, te ayudara bastante
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por LuisPaz (1 intervención) el 08/01/2020 17:16:34
Tienes idea de cómo poder accesar de manera automática mediante la FIEL?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 08/01/2020 17:58:53
SI SE PUEDE ACCEDER MEDIANTE LA FIEL FIEL LUISPAZ YO LO PUDE LOGRAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 22/01/2020 04:30:40
Carl

Hola !!!

Te comparto la url para que descargues el proyecto que me pediste.

Ya esta actualizado con los últimos cambios al código que se han posteado en el foro

Esta en VS2010 en C#

https://drive.google.com/open?id=10a7lrsIJgzwQCpp6yX_D0Iq8oAM1nX9N


Espero te sirva como guía para tus proyectos.

Saludos
Halcón Divino.

Monterrey, N.L.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carl
Val: 8
Ha disminuido su posición en 9 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Carl (4 intervenciones) el 23/01/2020 06:24:19
Muchísimas gracias, lo reviso



Saludos desde Cancún
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de OSRO
Val: 3
Ha aumentado su posición en 11 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por OSRO (1 intervención) el 19/05/2020 18:56:40
Buenos días Halcón,


soy un novato en esto, revise tu código y es una maravilla, aun que la verdad no entiendo todo el funcionamiento, tengo una duda, se puede modificar para que en lugar de bajar los archivos XML se puedan ir leyendo uno por uno para guardarlo en un txt o una base de datos? o es necesario descargarlos para poder leer toda la información del mismo?


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 14/07/2020 18:10:30
Puedes leerlo y guárdalo en una base de datos sin bajar el xml
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Netzen (26 intervenciones) el 22/05/2020 22:44:06
Alguien ha tenido problemas para la descarga por scraping?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Victor (1 intervención) el 09/06/2020 18:29:37
Si, el código de la página del SAT cambió y no se encuentran ciertas etiquetas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 14/07/2020 17:58:32
Con la novedad que la descarga mediante scraping no esta funcionando desde ayer.

Alguien tiene contacto con el SAT? jeje

Saludos chicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 14/07/2020 20:15:25
ya hice pruebas y todo bien, que te falla ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 15/07/2020 02:29:04
Este es el problema;

De forma manual el portal del SAT no permite bajar los XML, y esto afecta el algoritmo de scraping.

*Cabe mencionar que lo hace de forma intermitente, así que intenten bajar de forma "manual" algunos 3 o 4 xml para que puedan ver el error.


error

saludos chicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 15/07/2020 04:17:25
Tu código de web scraping si te funciona bien?
y lo que te descarga si son XML?

??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 15/07/2020 04:22:07
comparte tu código, mandame la parte donde bajas los XML
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por 42195k (1 intervención) el 16/07/2020 19:05:16
sigue sin funcionar el portal, alguien sabe algo de cuando vuelva a funcionar??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 16/07/2020 21:37:11
Yo ya intente manualmente entrar al sitio web de descarga

Pero me manda el siguiente mensaje

PÓNGASE EN CONTACTO CON EL ADMINISTRADOR DEL SISTEMA PARA SOLICITAR ACCESO A LAS APLICACIONES


No se que hacer , SI Hablo al SAT me van a mandar por un tubo , yo creo que ni me van a entender cual es el problema.Y en caso que me entendieran no creo que puedan hacer nada para remediarlo.


Ni idea para cuando vuelva a funcionar a como estaba antes , eso si es que vuelve a funcionar a como estaba anteriormente , quisas vayan a implementar cambios o nuevas adecuaciones al sitio web.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por 42195k (1 intervención) el 16/07/2020 22:28:13
Igual en forma manual algunas veces pide de nueva cuenta el usuario contraseña y catcha, y solo así baja el xml, no queda mas que esperar :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 16/07/2020 23:50:05
Pues según @Crackneo a el le funciona bien la descarga por web scraping.

Yo lo dudo puesto que este problema lleva ya 3 días y la mayoria de programas si no es que todos los que usan CIEC, esta afectados

Saludines.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 17/07/2020 01:43:25
Tú síguele la corriente...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 17/07/2020 05:44:36
Que tal amigo, si funciona yo hice pruebas, te falla en la parte de la descarga ?

aplicaste el Fix del Captcha ?



ve las fechas de mi captura, tuvo problemas el SAT en general en la descarga, (detalle en servidores pero ya quedo arreglado)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 17/07/2020 09:30:35
Hola Crackneo

El Scraping si funciona, el problema es que por ejemplo de 100 XML que se tengan en el periodo , descarga 100 archivos y de esos 100 archivos, 60 son XML y 40 son basura. (Dependiendo de tu algoritmo).

!Ese es el problema! , el otro problema es que esos 40 XML basura el SAT también los toma en cuenta para el limite de los 2000 por dia, y esto afecta los limites de los algoritmos que superan la barrera del SAT.

Si Cololiso que fue uno de los primeros que supero la barrera de los 30,000 XML por Scraping esta diciendo que también tiene problemas
Y Halcon que ha aportado mucho código a este Hilo también.

Tus pantallas con 7 XML no son de fiar.

*Acabo de hacer otra prueba y el servicio de recuperación de facturas sigue intermitente.

Saludos chicos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 17/07/2020 16:10:07
Una "forma" de seguir descargando es seleccionar los comprobantes, Descargar Selecionados y estar al pendientes hasta que esté listo el paquete para descargar. No es la solución, solo es un alternativa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 17/07/2020 17:05:34
@Cololiso Si eso lo pueden hacer los usuarios sin necesidad de usar programas, pero ya sabes descargas de hasta 500 XML y tope por día de 2000 XML.

Este problema lleva toda la semana, estoy pensando que quizá el SAT añadió una validación para evitar las descargas masivas y por ese motivo no permite descargar cierto limite de XML a la vez o cierto tiempo para habilitar el siguiente archivo.

Si esto es así, pues es el final de la descarga masiva por web scraping y quedaría solo los Web Services.

Esperemos que no sea así, ya que muchos programas dejaran de funcionar.

Saludos a todos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 17/07/2020 17:38:06
@Violeta ¿recuerdas mi correo? envíame un "hola" (NO ESCRIBAS AQUI MI CORREO)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 17/07/2020 17:38:27
como al inicio mencionas que fallaba la descarga hice la prueba rápida, la otra deja busco un RFC con varios XML para hacer la prueba he intentar replicar los 100 archivos de descarga, por que como mencionas, si continua fallando, nos tendremos que mover a descarga por webservice masivo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 17/07/2020 17:54:16
@Cocoliso

¿Tienes información ultra secreta?

Si tu no recuerdas tu correo, menos yo, jajaaj

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 17/07/2020 17:58:11
@Violeta, neta, como comediante te mueres de hambre, qué bueno que te dedicaste a desarrollar. Te quería compartir algo pero pues creo que no vale la pena. ¡Abur!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 17/07/2020 18:29:05
@CocoLiso Compartelo aquí:

Ese es el objetivo de este hilo.

Si bien no es necesario compartir todo un proyecto, bien podemos compartir posibles soluciones, tal como lo hicimos con el Web Service y la colaboración de todos en el otro hilo.

Por lo pronto puedo decir que los códigos de web scraping están bien, y que el problema es directamente del portal del SAT y la descarga de archivos desde su propio portal.

Respira profundo @CocoLiso con esto del SAT y la pandemia te vas hacer viejito.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 17/07/2020 18:36:15
@Violeta: confirmo lo anteriormente escrito.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por IS (2 intervenciones) el 18/07/2020 20:16:18
El código que yo utilizo también falla de manera intermitente. Yo no desarrollé el código pero lo he estado revisando y noté lo siguiente:

En el portal del SAT, al llenar los campos y presionar el botón "Buscar CFDI", justo antes de presionar el botón se dispara un evento (supongo que es un onmouseover) que hace un post a: https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx/ObtieneUsuario

El código que utilizo no contempla ese post a ObtieneUsuario que se ejecuta cada vez que se va a presionar el botón "Buscar CFDI" y sospecho que esa podría ser el motivo por el que la descarga falla de manera intermitente en el código que utilizo.

Si alguien ya tiene contemplado este paso en su código le agradecería explicara en qué consiste para ver si puedo implementarlo en el código que utilizo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 19/07/2020 00:43:45
@IS: Solo te regresa el RFC que tiene abierta la sesión pero no hace nada más.

ADITO: Solo agregaría que te sirve para mantener la sesión activa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por IS (2 intervenciones) el 20/07/2020 22:51:53
@CocoLiso: Muchas gracias! Ya veo que eso solamente es para mantener la sesión activa

Otra diferencia que noté con respecto al script que utilizo es la siguiente:

El script primero hace un get a: 'https://portalcfdi.facturaelectronica.sat.gob.mx', y ahí obtiene las cookies:

-JSESSIONID
-UrnNovellNidpClusterMemberId
-F5-PRO-CFDIAU-443

Luego hace un get a: 'https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0' y ahí obtiene el captcha

Sin embargo, al entrar a la página del SAT en un navegador con 'https://portalcfdi.facturaelectronica.sat.gob.mx', primero redirecciona a :

https://cfdiau.sat.gob.mx/nidp/wsfed_portalCFDI.jsp?wa=wsignin1.0&wtrealm=https://portalcfdi.facturaelectronica.sat.gob.mx&wctx=XX=0&id=passive&ru=XX&wct=AAAA-MM-DDTHH:MM:SSZ&wreply=https://portalcfdi.facturaelectronica.sat.gob.mx/

y ahí obtiene las cookies:

-SITESERVER
_ga

y luego redirecciona a: 'https://cfdiau.sat.gob.mx/nidp/wsfed/ep?id=SATUPCFDiCon&sid=0&option=credential&sid=0'

Por lo cual el script que utilizo no obtiene las cookies SITESERVER y _ga, y checando el post que hace la página del SAT al presionar el botón 'Buscar CFDI', sí se envían estas cookies en el post.

Espero que esta información sea útil para identificar el motivo de la falla intermitente, y de ser así, se agradecería si alguien pude confirmarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 21/07/2020 01:10:51
@IS: El que está fallando es el portal; intenta descargar un comprobante del mismo portal y comprobarás lo que te digo. Por otro lado no te hace daño estar "husmeando" la página y así te será más fácil identificar la falla en caso de que haya un cambio, si no es que deja de funcionar esta forma de descargar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 22/07/2020 22:00:41
Sí, es fácil solucionar ese problema pero a los que superamos, por mucho, la barrera de los 2K no nos sirve, para los "newbies", por así decirlo (no es despectivo), sí les viene bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por agallalrdo (19 intervenciones) el 22/07/2020 23:50:30
Me da mucho gusto que ya hayas logrado sobrepasar la problemática, Pueden compartir cual es el truco por favor???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 23/07/2020 00:06:27
Felicidades Rafael;

Tienes un error:

Si estas de acuerdo que cada archivo corrupto representa un XML NO descargado?

En tu primer descargar te genera 105 XML entre XML correctos y basura.

y en con tu solución estas perdiendo 1 XML, porque solo bajas 104. (Pierdes 1 XML)


Por otro lado cada corrupto te afecta al limite de 2000 del SAT, hasta cuantos XML puedes descargar máximo con tu corrección?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael
Val: 188
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Rafael (67 intervenciones) el 23/07/2020 14:53:11
GRACIAS POR TU OBSERVACION VIOLETA, TE COMENTO QUE POR CADA XML QUE SE PODRIA DESCARGAR QUE ES CORRUPTO EL SAT NO LO CUENTA COMO DESCARGADO, YA QUE NUNCA FUE DESCARGADO Y ESO TE LO PUEDO DEMOSTRAR EN OTRO VIDEO EL DIA DE MAÑANA YA QUE POR HOY LLEGUE AL TOPE DE DESCARGAS POR LA MADRUGADA, REALISE EL TOPE NO DE LOS 2,000 POR DIA DESCARGADOS SI NO 1,999 XML DESCARGADOS EN UN DIA, Y YA NO DEJA DESCARGA MAS, ENCUANTO AL XML QUE ISO FALTA PUES PROBABLEMENTE SE QUEDO EN MEMORIA PERO YA FUE RESUELTO, COMO TE DECIA ESPERO EL DIA DE MAÑANA PODER REALIZAR EL OTRO VIDEO Y MOSTRARLES QUE LOS XML CON ERROR NO SON CONTABILIZADOS POR EL SAT COMO DESCARGADOS, SALUDOS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 23/07/2020 18:00:51
Hasta que me encontré este mensaje :D

"Ya no puedes descargar más documentos. Por seguridad únicamente se permite descargar un máximo de 2,000 archivos por día."

USTEDES QUE HAN HECHO EN ESTE CASO ???

LOS DESCARGAN POR WEBSERVICE MASIVO DEL SAT Y CUAL ES EL LIMITE ?


VEO QUE LOS PDF NO SON CONTABILIZADOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por CocoLiso (14 intervenciones) el 23/07/2020 23:00:10
@Crackneo: "USTEDES QUE HAN HECHO EN ESTE CASO ???" Aquí mismo está la respuesta, solo es cuentión de leer un poco para que por dónde va la jugada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 03/01/2022 07:21:34
Hola Feliz Año a todas y todos.

El SAT nos recibe con un regalo este 2022.

Ha dejado de funcionar la descarga por CIEC con WebCliente y HttpClient, esto en consecuencia al último mantenimiento efectuado al portal del SAT.

Ideas para continuar descargando por CIEC?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por RODOLFO EDUARDO (28 intervenciones) el 03/01/2022 16:46:44
Hola Violeta, al parecer en la descarga por servicios tambien esta fallando,

There was no endpoint listening at https://cfdidescargamasivasolicitud.clouda.sat.gob.mx/Autenticacion/Autenticacion.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more

¿Les ha pasado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 03/01/2022 16:54:15
Hola!

Así es la descarga masiva por CIEC ya no esta funcionando.

y los Web Services para Descarga tampoco están respondiendo.

Sugerencias?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 47
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Marco Antonio (27 intervenciones) el 07/08/2020 23:14:53
Buenas tardes, saludos a todos.

No he podido descargar ningún xml desde el día 13 del mes pasado, veo que ya lo solucionaron e incluso no hay ninguna respuesta o comentario desde el día 23, he leído todo lo que se ha preguntado y contestado, pero no doy con bola para poder descargar los xml.

A continuación les muestro el código que uso para descargar el xml, simplemente le paso la url y leo las cookies, el mismo método uso para descargar los pdf y si funciona, solo cambio DownloadStringTaskAsync por DownloadDataTaskAsync.

Espero sus comentarios y de antemano muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[DllImport("wininet.dll", SetLastError = true)]
        private static extern bool InternetGetCookieEx(string url, string cookieName, StringBuilder cookieData, ref int size, int flags, IntPtr pReserved);
 
        [DebuggerStepThrough]
        public async Task<string> DownloadStringTaskAsync(Uri uri)
        {
 
            using var webClient = new WebClient { Encoding = Encoding.UTF8 };
 
            var cookie = GetCookie("https://portalcfdi.facturaelectronica.sat.gob.mx");
 
            webClient.Headers.Add(HttpRequestHeader.Cookie, cookie);
 
            HeartBeat();
 
            return await webClient.DownloadStringTaskAsync(uri).ConfigureAwait(true);
 
        }
 
 
        [DebuggerStepThrough]
        public static string GetCookie(string url, string cookieName = null)
        {
 
            var size = 512;
 
            var stringBuilder = new StringBuilder(size);
 
            if (InternetGetCookieEx(url, cookieName, stringBuilder, ref size, 0x00002000, IntPtr.Zero)) return stringBuilder.ToString();
 
            if (size < 0) return null;
 
            stringBuilder = new StringBuilder(size);
 
            return !InternetGetCookieEx(url, cookieName, stringBuilder, ref size, 0x00002000, IntPtr.Zero) ? null : stringBuilder.ToString();
 
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose (1 intervención) el 22/07/2021 23:27:17
han intentado omitir o leer de forma automatica el captcha? que el usuario no lo teclee si no que se agregue solo al campo de texto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 23/07/2021 03:02:11
yo use

https://anti-captcha.com/es/apidoc/task-types/ImageToTextTask
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose (2 intervenciones) el 23/07/2021 06:33:28
Pide algún registro? Hay que pagar algo? Existe un ejemplo base para el funcionamiento.. ya que tengo que modificar un proceso que consulta facturas el único detalle que no se ah podido resolver es que el usuario ingrese el captcha.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 23/07/2021 20:56:05
si se requiere un pago, por desgracia, estuve investigando en varios lados que fuera gratis, pero todos cobran el resolver el captcha.



En mi caso, mostrar el captcha al usuario y cuando lo guardas (en imagen) invocas el método de anti-captcha, y te lo resuelve, sin problemas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Jose (2 intervenciones) el 31/07/2021 00:18:56
Lo que ando tratando de hacer es omitir esa parte, para que el usuario no interactúe con ese proceso y sea algo automático.
Pero no eh logrado esa parte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 03/08/2021 01:45:33
El usuario no tiene por que ni enterarse, todo hazlo asíncrono para que en lo que escribe las credenciales el usuario, tu ya guardaste la imagen en tu disco local y consumiste el servicio del Captcha y escribiste el valor de la imagen.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Tony (1 intervención) el 03/11/2021 22:28:30
Hola, soy nuevo en este foro, yo tengo una solución del captcha en python, y lo tengo integrado en un servicio via PHP, pero quiero explorar una solución en C# o VB que quizá mejore el performance y el limite de descarga, actualmente 12k aproximadamente por rfc por dia, alguien quiere intercambiar código fuente funcional en c# de preferencia y yo puedo pasar mi solución de resolver el captcha en python gratis. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 06/01/2022 21:15:39
Hola Grupo

Con los últimos cambios que hizo el SAT el pasado 31 de Diciembre han podido descargar por web scrap

Si me puedo logear al servicio pero al descargar el XML me marca error

Alguien ha podido descargar por web scrap ??
Habrán cambiado algo en el sitio web que lo impida ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 06/01/2022 21:42:50
de momento la pagina del SAT no responde.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Carlos (3 intervenciones) el 06/01/2022 22:12:21
Que mensaje obtienes ?

Si gustas compartir el proyecto completo, lo puedo analizar y ver cual es el problema.

En mi caso el problema es que si me logueo, pero cuando quiero "seleccionar" la página de los recibidos da una excepción, es como si faltara enviar algún dato.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 06/01/2022 22:47:59
Carlos

El error lo marca en la linea donde esta
webClient.DownloadFile(address, fileName);


DounloadFile

Manda como error un mensaje muy genérico ...... An exception occurred during a WebClient request.

Como que no puede descargar el archivo , posiblemente la url de donde quiere descargarlo no existe


SUPONGO QUE TE FALLA EN EL MISMO LUGAR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Miguel (1 intervención) el 06/01/2022 23:46:40
marca error y el sat no responde
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Carlos (3 intervenciones) el 07/01/2022 06:21:46
SUPONGO QUE TE FALLA EN EL MISMO LUGAR
No

Yo logro ingresar al servidor usando el RFC, CIEC y el Catpcha, pero cuando intento navegar a esta URL https://portalcfdi.facturaelectronica.sat.gob.mx/ se genera una excepción que dice

Se ha terminado la conexión: Error inesperado de envío.

Lo extraño es que estoy haciendo una petición de tipo GET y no envío ningún dato.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ALFONSO TORRES (7 intervenciones) el 07/01/2022 06:30:39
El portal del SAT esta inestable, por momentos funciona y despues falla, no es un error en nuestra programacion, si no con el SAT.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Mike (1 intervención) el 08/01/2022 21:33:50
Buenas tardes Alfonso, entonces consideras que el error no es de programacion, sino falla del portal del SAT?, yo tambien tengo ese problema y crei que era problema de programacion y que tenia que ver con las Cookies.

De antemano Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 12/01/2022 06:17:57
Alguien ha podido descargar ?
si se logea, incluso si recupera la lista de los xml que deseas bajar, el error esta al intentar bajar cada uno de ellos...
ya baje un xml de manera manual desde la pagina directamente para corroborar la url y esta todo correcto,
el detalle pudiera estar en la cookie.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 12/01/2022 17:26:51
E intentado descargar
A veces ningún xml se pueden descargar
En otras ocasiones solo puedo descargar 1 de 20 xml
y en otras 1 de 10 xml

En la mayoría marca error al descargar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 12/01/2022 18:54:09
Ya pude...

al parecer el sat actualizo el protocolo de seguridad.. TSL1.0 a TSL1.2 y eso rechaza la conexion

simplemente agreguen esta linea antes de la llamada al webclient para descargar el xml

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

si tu aplicacion utiliza el netframe 4.0 problamente no contenga el TLS.12

puedes actualizar al netframe 4.6 para que aparezca

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 12/01/2022 19:52:47
mas facil todavia, si tienes el netframe 4.0 y no quieres actualizar

//ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2 equivalente
//ServicePointManager.SecurityProtocol = (SecurityProtocolType)768; //TLS 1.1 equivalente

ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 13/01/2022 03:21:48
El proyecto ya lo tengo en el Framework 4.6

Ya le agregué la line System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Pero no me funciona ...me marca el mismo error.... como si no hubiera hecho nada

Entonces cambié la instrucción por la ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

Pero tampoco me funciona ..... me marca el mismo error....

No se que mas se pudiera hacer ...

Alguna sugerencia ???

Les anexo el código para que van donde coloque la instrucción

PANTALLA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 13/01/2022 04:08:52
estos dos procedimientos son lo unico que movi, ademas que agregue una linea en el app.config porque es una aplicacion de escritorio la mia, la tuya no se si sea un aplicacion web. moverias el global asax o web config

private void DownloadFile(string address, string fileName)
{
try
{
// linea agregada
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

string cookie = CookieReader.GetCookie(this.webBrowser1.Url.ToString());
WebClient webClient = new WebClient();
if (File.Exists(fileName))
{
this.Message(string.Format("El archivo {0} ya existe.\n", fileName));

}
else
{
webClient.Headers.Add(HttpRequestHeader.Cookie, cookie);
webClient.DownloadFile(new Uri(address), fileName);
this.Message(string.Format("Creando el archivo {0}.\n", fileName));
}

}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}


private void ProcessResult()
{
try
{
Regex regex = new Regex("'.*?'");
if (!(this.webBrowser1.Document == null))
{
HtmlElementCollection elementsByTagName = this.webBrowser1.Document.GetElementsByTagName("table");
foreach (HtmlElement htmlElement in elementsByTagName)
{
foreach (HtmlElement elementsByTagName1 in htmlElement.GetElementsByTagName("tr"))
{

foreach (HtmlElement item in elementsByTagName1.GetElementsByTagName("span"))
{

var imgUrl = item.GetAttribute("id");

if (imgUrl != "BtnDescarga") continue;


string str3 = string.Format("https://portalcfdi.facturaelectronica.sat.gob.mx/{0}", regex.Match(item.OuterHtml).Value.Replace("'", ""));
IEnumerable<HtmlElement> htmlElements = elementsByTagName1.GetElementsByTagName("span").Cast<HtmlElement>();
IEnumerable<HtmlElement> htmlElements1 = htmlElements.Where<HtmlElement>((HtmlElement span) =>
{
bool innerText = span.InnerText != "";
return innerText;
});
string str4 = htmlElements1.Aggregate<HtmlElement, string>("", (string current, HtmlElement span) =>
{
string str = string.Empty;
if (string.IsNullOrEmpty(span.InnerText))
str = current;
else
str = string.Concat(current, span.InnerText, "|");

return str;
});


if (str4.Length < 36) continue; // para que solo pasen las filas que contienen un xml

char[] chrArray = new char[] { '|' };
string[] strArrays = str4.Split(chrArray);


string str6 = Path.Combine(RutaXmls, string.Format("{0}.xml", strArrays[0]));

imgUrl = item.OuterHtml.Replace((char)34, ' ');

var cadenaInicial = imgUrl.IndexOf("?Datos=") + 1;

var cadenaFinal = imgUrl.IndexOf("','Recuperacion')");

imgUrl = imgUrl.Substring(cadenaInicial, (cadenaFinal - cadenaInicial));

imgUrl = @"https://portalcfdi.facturaelectronica.sat.gob.mx/RecuperaCfdi.aspx?" + imgUrl;

this.DownloadFile(str3, str6);

break;
}

}
}
}
else
{
return;
}
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 13/01/2022 04:14:27
en el app.config
porque utilizo netframe 4.0 cambialo a la version que tu utilizas


<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 13/01/2022 04:22:23
Lo he usado solo en windows 10 pro, no se si jale en otras versiones, pero hasta ahorita funciona bien. no rechaza la solicitud al momento de descargar un xml, como lo hacia, era el error que ami me marcaba, no se si ati te pasa lo mismo..

en esta linea me marcaba error (Se ha terminado la conexión: Error inesperado de envío.)

webClient.DownloadFile(new Uri(address), fileName);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 13/01/2022 05:30:36
Victor

Ya le intente . Pero no se deja.

Como tu indicaste es en esta lineal es donde se produce el error webClient.DownloadFile(new Uri(address), fileName); igual me pasa a mi.

Igual que tu yo también estoy usando el Framework 4.0 en Windows 10 , no se si algo tiene que ver la conexión a internet o el antivirus o el firewall o alguna otra cosa del ambiente .

El config lo codifique igual al que indicaste.

Comentaste que moviste 2 procedimientos

Que cambios o que le agregaste puntualmente al procedimiento ProcessResult() ???


También pase el proyecto al Framework 4.6 y 4.7 y aplico la siguiente instrucción

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

antes del webclient

pero es lo mismo me sigue marcando el mismo error

no se que mas hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 13/01/2022 06:35:00
manda un correo y te mando un proyecto completo que si me funciona a mi y lo corres en tu equipo
para ver si en tu pc corre..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 13/01/2022 15:59:38
Víctor

Gracias por tu respuesta ... Apenas la estoy viendo

Déjame descargar el programa qu tan amablemente compartes.

a ver si me funciona en mi laptop , quizás sea mi Windows 10 el del problema ...igual voy a hacer pruebas en otra PC

Mi correo es [email protected]


Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 13/01/2022 17:17:58
Victor

Ya descargué el ejecutable y SI me funciona en mi laptop

Te anexo el proyecto completo en C# que estoy usando.... esta con el Framework 4.0

Si pudieras de favor descargarlo y podrás ver que en el procedimiento DownloadFile ya tiene la instrucción

1
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;

No se si pudieras probarlo en tu PC o Laptop a ver si le encuentras algo o a cualquier otro miembro del grupo si me pudieran apoyar se los agradecería mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 13/01/2022 18:34:39
me funciona muy bien, sin hacerle nada, asi como lo enviaste..

ok
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 13/01/2022 18:43:17
Víctor de verdad te funcionoooo ???

Oraleeee .!!!! ...

ufff !!! Que tendrá mi PC que no me deja ???? o será mi conexión a internet ??? ....yo uso infinitum ....


que sera ?? ... que sera ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 14/01/2022 03:07:13
Victor

Ya le busque por todos lados no se que le falta a mi Windows que no deja descargar ... en teoría esta actualizado

Lo raro es que en tu equipo de computo el mismo proyecto que yo trato de ejecutar a ti si te funciona y a mi no.

y lo otro que esta igual de raro es que el ejecutable que me pasaste pues si me funciona en mi laptop.

No se si me pudieras compartir tu proyecto para analizarlo mas a fondo ... mi correo es [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 14/01/2022 04:52:45
y no lo has probado en otro equipo?

prueba añadiendo esto al app.config

<runtime>
<AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=false"/>
</runtime>

me dices si no te funciona y te envio el proyecto, aunque pienso que no te funcionara si el problema esta en tu equipo..

tambien estaba viendo otra solucion modificando o creando algunas claves del registro de windows y creo no necesita ninguna modificacion el software
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 14/01/2022 05:01:54
sino quiere prueba con este otro, es el anterior o este no ambos

<runtime>
<AppContextSwitchOverrides value="Switch.System.Net.DontEnableSystemDefaultTlsVersions=false"
</runtime>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 14/01/2022 05:10:41
aqui esta el proyecto totalmente funcional,,, en mi maquina y en otras que lo he instalado (hasta ahorita no me a tocado que no quiera funcionar en alguna de ellas)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 14/01/2022 16:55:49
Víctor Gracias

Te comento lo siguiente :

Si probé mi proyecto en 2 o 3 PC con Windows 10 Pro y en otra que tienen Windows Server 2012 pero no me funcionó

Aplique al config de mi proyecto las 2 opciones que dijiste del runtime y tampoco funcionó

Pero descargué tu proyecto y este SI me funciona , ahora tengo que analizar tu proyecto y ver que hace la diferencia de porque el mío no jala y lo que no entiendo es como si te funciona a ti , pero es parte de lo que yo voy a tener que investigar.

Gracias Víctor por tu tiempo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 15/01/2022 01:25:57
Víctor gracias nuevamente por tu apoyo.

Ya pude resolver el problema

El detalle es que en mi proyecto yo guardo el archivo xml usando cierta información de la pagina web , el nombre del archivo que se descarga esta compuesto por el tipo de cfdi + rfc del emisor + rfc del receptor + uuid

Como que se recorrieron los datos y esto causaba que al formar el nombre de la ruta y/o nombre del archivo contuviere valores no validos para ser un nombre de archivo , así que al momento de grabar el archivo marcaba error

Ya lo remedié

Aquí les dejo el proyecto ya funcionando correctamente por si lo quieren usar como una guía para sus desarrollos

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 15/01/2022 02:21:47
que bien que ya quedo resuelto,
entiendo que conmigo si descargo porque solo baje xml version 3.3, hubiese bajado 4.0 hubiera tronado...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel Pantiga (7 intervenciones) el 22/01/2022 03:23:24
Gracias Halcon divino ya quedo resuelt mi problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Raúl (1 intervención) el 01/02/2022 19:42:48
Buenas tardes, he leído sus comentarios de programación para la descarga masiva, la pregunta es si se podrá que adapte dicho código a una versión de access 2016 o superior?, gracias por leerme. Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel pantiga (7 intervenciones) el 01/02/2022 20:59:29
deseas utilizar Acces como base de datos? para la administración de los XML, no lo veo muy conveniente actualmente estoy tratando de realizar esa parte con dataset y datagridview me estoy guiando con los comentarios de este foro en la parte de arriba. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 01/02/2022 20:59:41
Raúl

Si se puede adaptar el código a que inserte los XML o CFDIs en una base de datos ya sea ACCES o MSSQL o Cualquier otra

Después de descargar el archivo XML tendrías que leer el XML para extractar todos los datos que requieras e insertar dichos datos en la BD


También te invito a que veas como se descargan los XML por medio del Web Service que el SAT puso a disposición de los desarrolladores

Dicho tema se discute en este POST

https://www.lawebdelprogramador.com/foros/Visual-Basic.NET/1664022-Consumir-Web-Service-Descarga-Masiva.html

En mi opinión para descargas miles y miles de XMLs es mucho mejor usar el WS que el Web Scrap ... a parte que puedes automatizar 100% las descargas porque no te pide CAPTCHA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel pantiga (7 intervenciones) el 01/02/2022 21:11:09
muchísimas gracias Halcon divino, podrías recomendarme algún tutorial o documentación donde puedo estudiar pára lograr lo que comentas¡ seria de gran apoyo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 01/02/2022 21:23:14
Miguel

No te entendí del todo cuando dices "" podrías recomendarme algún tutorial o documentación donde puedo estudiar pára lograr lo que comentas"

En que estas batallando ???

En leer el XML para extractar los datos ??? o en Insertar los datos del XML en la BD ???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel pantiga (7 intervenciones) el 01/02/2022 21:53:52
gracias por contestar ¡ actualmente estoy batallando para leer los XML enviarlos a memoria con dataset y posteriormente cargarlos a datagridview.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 01/02/2022 22:16:53
Miguel

Con lo que te pudiera apoyar es en Leer los XML mediante un programa en C# en Framework 3.5 (pero lo puedes pasar a 4.0 o 4.5 sin problemas) que es de tipo librería o sea es una dll que puedes referenciar en tu programa principal y llamarla para leer el XML ...los datos del XML se guardan en datos de tipo estructuras las cuales pudieras pasar un DATSET

Pero yo te recomiendo mejor que los datos obtenidos del XML los pases a las tablas de una base de datos y posteriormente mediante consultas por medio de querys de SQL cargues el GRID o bien a un reporte en EXCEL

El leer los XML es tardado, supongamos 1 segundo por cada XML si vas a leer 1,000 xml el proceso se va a tardar 1,000 segundos ..... es demasiado tiempo para una consulta y si vas a volver a hacer varias consultas pues no es factible.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel pantiga (7 intervenciones) el 01/02/2022 22:39:06
excelente agradecería mucho tu apoyo halcón divino ..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 02/02/2022 00:01:33
Miguel

Te anexo el proyecto CFDI_v33 que es de tipo Librería , no te vayas por la finta del nombre que dice v33 también te lee los CFDI 4.0 así ismo los de la versión 3.3 , 3.2 etc...

A parte del método de leer el XML tiene otros métodos que generan la representación impresa y estos métodos usan referencias al Crystal Reporte .... posiblemente al compilarlo te pudiera marcar error si no tienes instalado el Crystal Reporte 13.0.20 , ya seria que borres o comentarises los métodos que te causan problemas al compilar.


De tu programa principal así llamarías al método que lee el XML , el resultado de la lectura estaría en las estructuras que se definen


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CFDI_v33;
 
namespace LeeXML40
{
    class Program
    {
        static void Main(string[] args)
        {
            string FileXml = @"C:\ProyectosWeb\DATOSPEX\FacturasSP\ArchivoXML.Xml";
 
            #region Define las estructuras de registro del CFDI 3.3
            CFDI_v33.Structuras.CFDI_InfoGral Comprobante = new Structuras.CFDI_InfoGral();
            CFDI_v33.Structuras.CFDI_Conceptos[] Conceptos = new Structuras.CFDI_Conceptos[40];
            CFDI_v33.Structuras.CFDI_Impuestos_Retenciones[] ImpRetenciones = new Structuras.CFDI_Impuestos_Retenciones[3];
            CFDI_v33.Structuras.CFDI_Impuestos_Traslados[] ImpTraslados = new Structuras.CFDI_Impuestos_Traslados[4];
 
            CFDI_v33.Structuras.CFDI_Pagos Pagos = new Structuras.CFDI_Pagos();
            CFDI_v33.Structuras.CFDI_Pago[] Pago = new Structuras.CFDI_Pago[20];
            CFDI_v33.Structuras.CFDI_PagoDocumentoRelacionado[] DocRelacionados = new Structuras.CFDI_PagoDocumentoRelacionado[1500];
            CFDI_v33.Structuras.CFDI_PagoRetencionesDR[] PagoRetencionesDR = new Structuras.CFDI_PagoRetencionesDR[3000];
            CFDI_v33.Structuras.CFDI_PagoTrasladosDR[] PagoTrasladosDR = new Structuras.CFDI_PagoTrasladosDR[3000];
            CFDI_v33.Structuras.CFDI_PagoRetencionesP[] PagoRetencionesP = new Structuras.CFDI_PagoRetencionesP[50];
            CFDI_v33.Structuras.CFDI_PagoTrasladosP[] PagoTrasladosP = new Structuras.CFDI_PagoTrasladosP[50];
 
            CFDI_v33.Structuras.CFDI_Nomina Nomina = new Structuras.CFDI_Nomina();
            CFDI_v33.Structuras.CFDI_Nomina_Percepcion[] Percepcion = new Structuras.CFDI_Nomina_Percepcion[30];
            CFDI_v33.Structuras.CFDI_Nomina_Deduccion[] Deduccion = new Structuras.CFDI_Nomina_Deduccion[30];
            CFDI_v33.Structuras.CFDI_Nomina_Incapacidades[] Incapacidad = new Structuras.CFDI_Nomina_Incapacidades[10];
 
            CFDI_v33.Structuras.CFDI_CartaPorte Carta_Porte = new CFDI_v33.Structuras.CFDI_CartaPorte();
            CFDI_v33.Structuras.CFDI_CartaPorte_Ubicacion[] Ubicacion = new CFDI_v33.Structuras.CFDI_CartaPorte_Ubicacion[10];
            CFDI_v33.Structuras.CFDI_CartaPorte_Mercancias_Mercancia[] Mercancia = new CFDI_v33.Structuras.CFDI_CartaPorte_Mercancias_Mercancia[10];
            CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_CantidadTransporta[] CantidadTransporta = new CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_CantidadTransporta[10];
            CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_Pedimentos[] Pedimentos = new CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_Pedimentos[10];
            CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_GuiasIdentificacion[] GuiasIdentificacion = new CFDI_v33.Structuras.CFDI_CartaPorte_Mercancia_GuiasIdentificacion[10];
            CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Operador[] Operador = new CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Operador[3];
            CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Propietario[] Propietario = new CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Propietario[3];
            CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Arrendatario[] Arrendatario = new CFDI_v33.Structuras.CFDI_CartaPorte_FiguraTransporte_Arrendatario[3];
 
            Structuras.CFDI_Nomina_OtrosPagos[] OtrosPagos = new Structuras.CFDI_Nomina_OtrosPagos[5];
 
 
            CFDI_v33.Controller Control = new Controller();
 
            #endregion
 
            String Resp = Control.LeeXML(FileXml
                     , ref Comprobante
                     , ref Conceptos
                     , ref ImpTraslados
                     , ref ImpRetenciones
                     , ref Nomina
                     , ref Percepcion
                     , ref Deduccion
                     , ref OtrosPagos
                     , ref Incapacidad
                     , ref Pagos
                     , ref Pago
                     , ref DocRelacionados
                     , ref PagoTrasladosDR
                     , ref PagoRetencionesDR
                     , ref PagoTrasladosP
                     , ref PagoRetencionesP
                     );
 
 
        }
    }
}

Esper te sirva como una guía para tu proyecto


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Miguel pantiga (7 intervenciones) el 02/02/2022 00:32:37
muchísimas gracias Halcón divino¡ valoro mucho tu apoyo , recibe un cordial saludo .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 120
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Violeta (71 intervenciones) el 03/04/2022 03:03:34
Halcón Divino

Tu código se queda en procesando . . .

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por dsg (3 intervenciones) el 02/05/2022 17:40:53
Buen dia, alguien me puede ayudar $$ con el codigo de descarga masiva de XML por medio de webservice del SAT. Lo que requiero es que se ejecute y este descargando diario los xml recibidos y me grabe los datos del xml en una base de datos. Que me cotice por el sistema y codigo. [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por ACSantos13 (19 intervenciones) el 03/05/2022 02:47:32
Buen día amigos,

Alguno de ustedes ha podido enviar una solicitud por UUID?? viene en la documentación un atributo en la petición que se llama Folio en el cual se indica que ahí se puede especificar un UUID a solicitar, pero al intentar agregarlo a mi petición recibo el mensaje de XML Mal formado. Solo saber si, como en el caso de las peticiones de CFDIs cancelado, esto también es un mito y realmente no se puede usar? o quizás alguien si lo ha logrado y probablemente me podría compartir cómo quedó su mensaje soap?

saludos
agallardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Reynaldo (5 intervenciones) el 19/07/2022 18:50:47
Amigo me podrias regalar un correo a [email protected] por favor, estoy desarrollando igual un proyecto, ahi para intercambiar ideas............ saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 03/08/2022 20:41:00
Alguien a podido descargar los xml por web scrap usando e firma ?

Que me pudiera dar un norte o compartirme algo del código ?

se los agradecería
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 27/08/2022 02:27:19
Todavía tienes problemas ??

Necesitas ayuda ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 27/08/2022 17:45:22
Hola Crackneo

Si aun necesito ayuda

Estuve buscando algún código en C# .net Framework 4.x para descargar los XML usando WebSCRAP por medio de la eFirma

Pero no he encontrado ningún ejemplo en otros foros, ni en GitHub ..... solo encontré los que ya conocemos los de descarga por webscrap usando el captcha y el de descargar por WS

Si me pudieras ayudar con el WebSCRAP usando eFirma te lo agradecería mucho

Ya sea por este medio o contactándome directamente a mi correo [email protected]

Gracias Crackneo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 27/08/2022 20:44:36
Dame oportunidad la otra semana, y te paso un ejemplo
Los puntos a incluir serían

Autenticación por efirma desde la página del contribuyente del SAT

Envío de parámetros a la página desde la app

Descarga de XML o PDF


Yo estoy trabajando con selenium c# deje a un lado de webbrowser, pero el código que compartiste es funcional también para la efirma

Saludos y gracias a ti

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por miguel pantiga (7 intervenciones) el 27/08/2022 21:37:26
ojala podrías compartir información , de antemano mucha gracias¡
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 27/08/2022 21:40:21
Gracias Crackneo por contestar

La verdad no he trabajado con Selenium.... pero espero que el ejemplo que me proporciones se pueda integrar a C# FWK 4.x

Gracias nuevamente Crackneo y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Halcón Divino (196 intervenciones) el 29/08/2022 17:35:51
Crackneo que tal !!!

Gracias por el TIP de usar SELENIUM

Estuve investigando y auto aprendiendo SELENIUM con los diversos tutoriales que hay en youtube este fin de semana
La verdad esta muy pero muy fácil hacer Web Srcap con SELENIUM comparado con el webscrap del webbrowser

A manera de ejemplo practico ya pude mas o menos hacer el programa Web Scrap de la descarga usando la FIEL para los CFDI recibidos del mes de Mayo del 2022

Pero tengo 2 problemas:

1- No puedo extractar la url de la descarga ...
Me refiero a la primer columna de la tabla resultados la que trae mas elementos hijos
En esta celda de la columna 1 hay otra tabla que en la cuarta columna esta el botón de descarga ( btnDescarga)
Intente con diferentes xPath pero no puedo llegarle a los elementos hijos


2- Solo puedo extractar los datos de los primeros 16 renglones de la tabla de resultados ,.. si son mas renglones no me trae datos.


Crackneo si me pudieras apoyar por fa ...... O alguien mas del grupo que pudiera hacerlo



Este es el código usando SELENIUM


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
 
 
namespace Selenium
{
    class Program
    {
        static void Main(string[] args)
        {
            // Abrimos el Navegador en la pagina seb de descargas CFDI del SAT
            IWebDriver driver = new ChromeDriver(@"C:\Temp\");
            driver.Url = "https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0";
 
            // Damos click al boton e.Firma
            driver.FindElement(By.Id("buttonFiel")).Click();
            System.Threading.Thread.Sleep(1000);
 
            // se identifica con la FIEL o e.Firma
            driver.FindElement(By.Id("fileCertificate")).SendKeys(@"C:\Temp\FIEL\XXX160217QU0.cer");
            driver.FindElement(By.Id("filePrivateKey")).SendKeys(@"C:\Temp\FIEL\XXX160217QU0.key");
            driver.FindElement(By.Id("privateKeyPassword")).SendKeys("12345678");
            driver.FindElement(By.Id("submit")).Click();
 
            System.Threading.Thread.Sleep(5000);
 
            driver.Url = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx";
 
            System.Threading.Thread.Sleep(2000);
 
 
            // Seleccion por Fecha
            driver.FindElement(By.Id("ctl00_MainContent_RdoFechas")).Click();
 
            System.Threading.Thread.Sleep(2000);
 
            // Selecciona Año del drop down list
            var anio = driver.FindElement(By.Id("DdlAnio"));
            var select_anio = new SelectElement(anio);
            select_anio.SelectByText("2022");
 
            // Selecciona el Mes  del drop down list
            var mes = driver.FindElement(By.Id("ctl00_MainContent_CldFecha_DdlMes"));
            var select_mes = new SelectElement(mes);
            select_mes.SelectByValue("5");
 
            // Click a boton Buscar
            driver.FindElement(By.Id("ctl00_MainContent_BtnBusqueda")).Click();
 
            System.Threading.Thread.Sleep(5000);
 
 
            // Total de Renglones de la tabla de resultados
            IList<IWebElement> ListOfElements = driver.FindElements(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr"));
            int TotalRows =  ListOfElements.Count;
            // Total de Columnas  de la tabla de resultados
            ListOfElements = driver.FindElements(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[1]/th"));
            int TotalCols  = ListOfElements.Count;
            // Recorre la tabla de resultados para extractar los datos de cada renglón
            for (int i = 2; i <= TotalRows;i++)
            {
                // AQUI ES DONDE TENGO PROBLEMAS
                // EN ESTE PUNTO NO PUEDO EXTRACTAR LA URL ..
                // AHY MAS ELEMENTOS HIJOS EN ESTA CELDA DE LA TABLA
                // COMO PUDIERA EXTRACTAR LA URL ????
                String URL                      = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[1]")).Text;
                String UUID                      = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[2]")).Text;
                String RFCEmisor                 = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[3]")).Text;
                String NombreEmisor              = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[4]")).Text;
                String RFCReceptor               = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[5]")).Text;
                String NombreReceptor            = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[6]")).Text;
                String FechaEmicion              = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[7]")).Text;
                String FechaTimbrado             = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[8]")).Text;
                String RFCPAC                    = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[9]")).Text;
                String Total                     = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[10]")).Text;
                String TipoCFDI                  = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[11]")).Text;
                String EstatusCancelacion        = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[12]")).Text;
                String EstatusComprobante        = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[13]")).Text;
                String EstatusProcesoCancelacion = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[14]")).Text;
                String FechaCancelacion          = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[15]")).Text;
                String RFCTerceros               = driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[16]")).Text;
            }
            //  driver.Quit();
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Halcón Divino (196 intervenciones) el 29/08/2022 23:33:57
Crackneo

Ya resolví los 2 problemas que comenté en el post anterior . .

En vez de usar driver.FindElement(........).Text mejor use driver.FindElement(....).GetAtribue("InnerHTML")

Con lo anterior no se oculta ni se esconde nada para ser extractado.

Crackneo gracias de nuevo por el tip de usar SELENIUM.

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Grupo Aquí les dejo un ejemplo practico de Descarga de XML autentificándose con la FIEL usando Web Scrap

La solución se tiene que referenciar con los componente de SELENIUM usando ""Manage NuGet packages for solutions"" para Instalar Selenium.WebDriver y Selenium.Soport . ... Y descarga el programa ejecutable chromedriver.exe para win32 de esta url https://chromedriver.chromium.org/downloads


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using System.Net;
 
namespace Selenium
{
    class Program
    {
        static void Main(string[] args)
        {
            String CertificadoFIEL = @"C:\Temp\CARPER\FIEL\XXX960919J54.cer";
            String Key_PrivadaFIEL = @"C:\Temp\CARPER\FIEL\XXX960919J54.key";
            String Contrasena_FIEL = @"xxxxxxxxxxx";
            String RutaDescargaXML = @"C:\Temp\CARPER\XML_Recibidos\";
            String RutaChromeDrive = @"C:\Temp\";
 
            // Abrimos el Navegador CHROME en la pagina web de descargas CFDI del SAT
            IWebDriver driver = new ChromeDriver(RutaChromeDrive);
            driver.Url = "https://cfdiau.sat.gob.mx/nidp/app/login?id=SATUPCFDiCon&sid=0&option=credential&sid=0";
 
            // Damos click al boton e.Firma
            driver.FindElement(By.Id("buttonFiel")).Click();
            System.Threading.Thread.Sleep(1000);
 
            // se identifica con la FIEL o e.Firma
            driver.FindElement(By.Id("fileCertificate")).SendKeys(CertificadoFIEL);
            driver.FindElement(By.Id("filePrivateKey")).SendKeys(Key_PrivadaFIEL);
            driver.FindElement(By.Id("privateKeyPassword")).SendKeys(Contrasena_FIEL);
            driver.FindElement(By.Id("submit")).Click();
 
            System.Threading.Thread.Sleep(5000);  // Espramos unos segundos para que responda
 
            // Navegamos hacia las facturas RECIBIDAS
            driver.Url = "https://portalcfdi.facturaelectronica.sat.gob.mx/ConsultaReceptor.aspx";
 
            System.Threading.Thread.Sleep(2000);  // Espramos unos segundos para que responda
 
            // Seleccionamos que la busqueda va a ser  por Fecha
            driver.FindElement(By.Id("ctl00_MainContent_RdoFechas")).Click();
 
            System.Threading.Thread.Sleep(2000); // Espramos unos segundos para que responda
 
            // Selecciona Año del drop down list
            var anio = driver.FindElement(By.Id("DdlAnio"));
            var select_anio = new SelectElement(anio);
            select_anio.SelectByText("2022");
 
            // Selecciona el Mes  del drop down list
            var mes = driver.FindElement(By.Id("ctl00_MainContent_CldFecha_DdlMes"));
            var select_mes = new SelectElement(mes);
            select_mes.SelectByValue("5");
 
            // Click a boton Buscar
            driver.FindElement(By.Id("ctl00_MainContent_BtnBusqueda")).Click();
 
            System.Threading.Thread.Sleep(5000); // Espramos unos segundos para que responda
 
 
            // Total de Renglones de la tabla de resultados
            IList<IWebElement> ListOfElements = driver.FindElements(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr"));
            int TotalRows =  ListOfElements.Count;
            // Total de Columnas  de la tabla de resultados
            ListOfElements = driver.FindElements(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[1]/th"));
            int TotalCols  = ListOfElements.Count;
            // Recorre la tabla de resultados
            for (int i = 2; i <= TotalRows;i++)
            {
                String UUID                      = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[2]")).GetAttribute("innerHTML"));
                String RFCEmisor                 = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[3]")).GetAttribute("innerHTML"));
                String NombreEmisor              = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[4]")).GetAttribute("innerHTML"));
                String RFCReceptor               = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[5]")).GetAttribute("innerHTML"));
                String NombreReceptor            = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[6]")).GetAttribute("innerHTML"));
                String FechaEmicion              = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[7]")).GetAttribute("innerHTML"));
                String FechaTimbrado             = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[8]")).GetAttribute("innerHTML"));
                String RFCPAC                    = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[9]")).GetAttribute("innerHTML"));
                String Total                     = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[10]")).GetAttribute("innerHTML"));
                String TipoCFDI                  = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[11]")).GetAttribute("innerHTML"));
                String EstatusCancelacion        = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[12]")).GetAttribute("innerHTML"));
                String EstatusComprobante        = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[13]")).GetAttribute("innerHTML"));
                String EstatusProcesoCancelacion = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[14]")).GetAttribute("innerHTML"));
                String FechaCancelacion          = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[15]")).GetAttribute("innerHTML"));
                String RFCTerceros               = GetText(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[16]")).GetAttribute("innerHTML"));
                if ( ! EstatusComprobante.Contains("Cancelado"))
                {
                    // Descrgamos los xml de los CFDI que estan Vigentes
                    String urlFileDownload = GetUrl(driver.FindElement(By.XPath("//*[@id='ctl00_MainContent_tblResult']/tbody/tr[" + i.ToString() + "]/td[1]/div/table/tbody/tr[1]/td[4]")).GetAttribute("innerHTML"));
                    String fileName = RutaDescargaXML + UUID + ".xml";
                    DownloadFile(urlFileDownload, fileName, driver);
                }
            }
            driver.Quit();
        }
        static string GetText(String ineerHTML)
        {
            try
            {
                if (ineerHTML.Contains("AcuseDocumentosRelacionados"))
                {
                    return "No cancelable";
                }
                String Busca1 = ";\">";
                String Busca2 = "</span>";
                int pos1 = ineerHTML.IndexOf(Busca1) + Busca1.Length;
                int pos2 = ineerHTML.IndexOf(Busca2);
                int LongTexto = pos2 - pos1;
                String Texto = ineerHTML.Substring(pos1, LongTexto);
                return Texto;
            }
            catch
            {
                return "";
            }
        }
        static string GetUrl(String ineerHTML)
        {
            String Busca1 = "AccionCfdi('";
            String Busca2 = "','Recuperacion')";
            int pos1 = ineerHTML.IndexOf(Busca1) + Busca1.Length;
            int pos2 = ineerHTML.IndexOf(Busca2);
            int LongUrl = pos2 - pos1;
            String URL = ineerHTML.Substring(pos1, LongUrl);
            return string.Format("https://portalcfdi.facturaelectronica.sat.gob.mx/{0}", URL.Replace("'", ""));
        }
        static void DownloadFile(String urlFileDownload, String fileName, IWebDriver driver)
        {
            ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
            using (WebClient wc = new WebClient())
            {
                wc.Headers[HttpRequestHeader.Cookie] = GetCookieHeaderString(driver);
                wc.DownloadFile(urlFileDownload, fileName);
            }
        }
        static string GetCookieHeaderString(IWebDriver driver)
        {
            var cookies = driver.Manage().Cookies.AllCookies;
            return string.Join("; ", cookies.Select(c => string.Format("{0}={1}", c.Name, c.Value)));
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 30/08/2022 00:26:29
ya dame unos minutos subo el proyecto, excelente Halcón, felicidades
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Halcón Divino (196 intervenciones) el 30/08/2022 05:16:56
Por Si les interesa este es otro ejemplo de Descarga Masiva de XML Autentificándose con la FIEL usando WebScrap con la librería de SELENIUM

Dicho ejemplo esta desarrollado en VS en Windows Form con C# .... lo esta aportando Crackneo

Esta es la url de descarga

https://drive.google.com/file/d/1WF586ifD_2e-AE3UWwh6ajiihSbq6pF5/view?usp=sharing


Gracias Crackneo por tu aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 30/08/2022 06:17:04
Espero les sea útil

Selenium tiene muchas cosas, es basado en Chrome y le puedes instalar extensiones de Chrome para diferentes funcionalidades, saca foto del navegador etc.


Gracias halcón, parte del código es tu código :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 02/09/2022 17:01:40
Voy adelantando un poco el desastre venidero


El problema del driver del Chrome, es que usa la ultima conocida, eso quiere decir que si cambia la versión por actualización del Chrome, tendrás que actualizar el driver Chrome, implica programación, si lo quieres ver así o, estar pegando el ejecutable del driver de Chrome a los usuarios.


vi una solución, todavía no la implemento pero estoy en esa parte
https://swimburger.net/blog/dotnet/download-the-right-chromedriver-version-and-keep-it-up-to-date-on-windows-linux-macos-using-csharp-dotnet

que se actualice el driver automático para evitar molestia a los usuarios.


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por CocoLiso (9 intervenciones) el 02/09/2022 17:06:22
Por ese motivo no utilicé Selenium, es más fácil configurarlo al inicio pero te pide ciertos requisitos que hay que cumplir. Se puede hacer desde .NET directamente, esto lo digo porque yo así lo tengo. No estaré en la PC donde tengo el código por un buen tiempo, sino con gusto se los pasaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Halcón Divino (196 intervenciones) el 02/09/2022 23:19:27
Crackneo

El navegador Chrome que tengo se actualizo a la versión 105 y la aplicación que descarga los xml con Selenium tenia el Drive de Chrome versión 104 y aun así funcionaba correctamente a pesar de tener versiones diferentes funciona correctamente la descarga , quizas cuando las versiones sean muy diferentes posiblemente es cuando de problemas.

Probé la aplicación que estas recomendando

No me descargo la versión 105 cuando lo ejecuté, obviamente modifique la variable targetPath para que apuntara al programa chromedriver.exe , en teoría debió hacerlo pero no se xq no lo hace.

Lo que hice fue forzar la descarga asignándole el valor de true a la variable forceDownload

Y listo!!! con eso me descargo la versión 105 de chromedriver.exe correspondiente a la versión del navegador Chrome

y probé de nuevo la aplicaciones de descarga de xml y funciono correctamente


En resumen la aplicación que descarga la versión de Drive de Chrome con respecto a la versión que tiene el navegador de Chrome esta muy buena y veo que es una excelente solución si se corre primero antes de usar la descarga de xml con selenio solo para asegurar que las versiones del navegador y del chromedriver.exe sean las misma

El tiempo de descarga es muy rápido 1 o 2 segundos es lo que tarda el programa en ejecutar dicha descarga.

Dicho lo anterior se soluciona el problema que plantabas en el post de arriba.

Gracias por el aporte Crackneo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Halcón Divino (196 intervenciones) el 02/09/2022 23:25:03
CocoLiso

Que tal !!

Ojala tengas oportunidad de compartir el código de como se puede autentificar con la eFirma usando el WebBrowser de .net

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 03/09/2022 00:14:33
Hola Halcón

Yo tuve el mismo problema, para forzar a usar el Chrome cambiando la Path,
1
browser0 = new ChromeDriver(@"F:\chrome");

pero tienes que ver que no este ejecutándose en administrador de tareas


Depende mucho si usa driverService , se ocupa para ocultar la pantalla negra(cmd)

1
2
3
var driverService = ChromeDriverService.CreateDefaultService();
            driverService.HideCommandPromptWindow = true;
            driverService.SuppressInitialDiagnosticInformation = true;
y su uso es el siguiente

1
browser0 = new ChromeDriver(driverService, QR_Code);


ahora si quieres ocultar la ventana del Chrome usa los siguietne
1
2
3
4
5
6
7
ChromeOptions QR_Code = new ChromeOptions();
 
            QR_Code.AddArgument("--silent");
            QR_Code.AddArgument("--window-position=-32000,-32000");
 
            QR_Code.AddArguments("disable-gpu");
            QR_Code.AddArguments("no-sandbox");


y su uso es el siguiente

1
browser0 = new ChromeDriver(driverService, QR_Code);


en mi caso alguna vez tuve que usar extensiones de Chrome hice lo siguiente

1
2
3
4
/QR_Code.AddExtension(@Application.StartupPath + @"\extchrome\OCR0260.crx");
            //QR_Code.AddExtension(@Application.StartupPath + @"\extchrome\QR_Code.CRX");
            //QR_Code.AddExtension(@Application.StartupPath + @"\extchrome\Twistr.CRX");
            //QR_Code.AddExtension(@Application.StartupPath + @"\extchrome\HEVC.crx");

baje el CRX de la extensión para que el usuario no tenga que estarlo haciendo manualmente, use un lector de QR, que después lo implemente en c#


para mi gusto tiene muchas ventajas, yo uso un programa que se llama makesfx.exe y empaqueta todo en un ejecutable, para que el usuario no vea las .dll, exes, ocrx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 03/09/2022 00:31:07
Va el código para cada botón

teniendo así:

ya haber presionado el boton de Efirma


1. Archivo .CER <Label> Evento Pc_des_Cer_Click
2. Archivo .KEY<Label> Evento Pc_des_key_Click
3. Password <textbox>
4. Enviar <Boton> Evento ValidaAutenticacionfiel()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Pc_des_Cer_Click
 
 
if (this.webBrowser_Desconcentrada.Document != null)
            {
 
                HtmlElement elementBylblFolio = this.webBrowser_Desconcentrada.Document.GetElementById("btnCertificate");
                if (elementBylblFolio != null)
                {
                    elementBylblFolio.InvokeMember("click");
 
                }
 
                HtmlElement htmlElement2a = this.webBrowser_Desconcentrada.Document.GetElementById("txtCertificate");
                if (!(htmlElement2a == null))
                {
                    if (htmlElement2a.GetAttribute("Value").Equals(""))
                    {
                        lbl_mensaje_cer.Text = "Sin archivo";
                    }
                    else
                    {
                        //string certxt = htmlElement2a.GetAttribute("Value").ToString();
                        lbl_mensaje_cer.Text = htmlElement2a.GetAttribute("Value").ToString();//certxt.Substring(certxt.Length - 30);
                    }
                }
            }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Pc_des_key_Click
if (this.webBrowser_Desconcentrada.Document != null)
            {
                              HtmlElement elementBylblFolio = this.webBrowser_Desconcentrada.Document.GetElementById("btnPrivateKey");
                if (elementBylblFolio != null)
                {
                    elementBylblFolio.InvokeMember("click");
                }
 
 
 
 
                HtmlElement htmlElement2 = this.webBrowser_Desconcentrada.Document.GetElementById("txtPrivateKey");
                if (!(htmlElement2 == null))
                {
                    if (htmlElement2.GetAttribute("Value").Equals(""))
                    {
                        lbl_mensaje_key.Text = "Sin archivo";
                    }
                    else
                    {
                        string keytxt = htmlElement2.GetAttribute("Value").ToString();
                        lbl_mensaje_key.Text = keytxt.Substring(keytxt.Length - 30);
                    }
                }
            }


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
ValidaAutenticacionfiel()
 
try
            {
                HtmlElement elementBbtnCertificate = this.webBrowser_contribuyte.Document.GetElementById("contrasena");
                if (elementBbtnCertificate != null)
                {
 
                    HtmlElement elementById1 = this.webBrowser_contribuyte.Document.GetElementById("submit");
                    if (elementById1 != null)
                    {
                        elementById1.InvokeMember("onclick");
                    }
                    while (this.webBrowser_contribuyte.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
                    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
                    int nNum = 0;
                    progressBar1.Visible = true;
 
                    progressBar1.Value = 0;
                    while (true && nNum < 600000)   // checamos si ya esta autentificado (si no, a las 100000, se sale y recarga pagina con nuevo captcha)
                    {
                        Application.DoEvents();
                        HtmlElement elementById = this.webBrowser_contribuyte.Document.GetElementById("ctl00_LblRfcAutenticado");
                        progressBar1.Minimum = 0;
                        progressBar1.Maximum = 100;
                        progressBar1.Value = (nNum * 100) / 600000;
                        Message(progressBar1.Value.ToString() + "%");
                        if (!(elementById == null))
                        {
                            sRfc = this.webBrowser_contribuyte.Document.GetElementById("ctl00_LblRfcAutenticado").InnerText;
                            RFCs_Web_Desconcentrada = sRfc;
                            this.Message(string.Format(" {0}", sRfc));
                            flag = true;
                            break;
                        }
 
                        nNum++;
                    }
                    progressBar1.Visible = false;
 
 
                    if (!flag)
                    {
                        try
                        {
 
                            HtmlElement elementByError = this.webBrowser_contribuyte.Document.GetElementById("divError");
                            if (!(elementByError == null))
                            {
                                if (elementByError.InnerText.ToString().Contains("no está vigente"))
                                {
                                    flag = false;
                                    Message("No se puede acceder al aplicativo porque su E.FIRMA no está vigente.");
                                }
                                else if (elementByError.InnerText.ToString().Contains("clave privada inválidos"))
                                {
                                    flag = false;
                                    Message("Certificado, clave privada o contraseña de clave privada inválidos, inténtelo nuevamente.");
                                }
                                else
                                {
                                    Message("Caduco el tiempo de espera, intente nuevamente ingresar");
                                }
                                label10.Text = "Seleccione Archivo CER";
                                label8.Text = "Seleccione Archivo KEY";
                                textBox1.Text = "";
                            }
                            else
                            {
                                Message(elementByError.InnerText.ToString());
                            }
 
                        }
                        catch (Exception x)
                        {
                            Message("Verifique RFC o contraseña son incorrectos");
                            label10.Text = "Seleccione Archivo CER";
                            label8.Text = "Seleccione Archivo KEY";
                            textBox1.Text = "";
 
                        }
                        finally
                        {
                            pnl_Contribuyente_firma.Enabled = true;
                            //thread = new Thread(() => goUrl(url2, "Contri"));
                            //thread.Start();
                        }
                    }
                    else
                    {
                        this.Message(string.Format("Inicia proceso..."));
                        this.Message(string.Format("Aca ya empiezas a barrer "));
}
}catch{}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por ACSantos13 (19 intervenciones) el 05/09/2022 16:47:34
Buen día, en el caso de que los archivos cer, key y contraseña ya los tengo en algún directorio de la computadora, y no estarle pidiendo todas las veces que lo establezca el usuario como se ve en este código, ¿cómo podría escribir esas rutas de los archivos en los controles del portal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Crackneo
Val: 46
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por Crackneo (32 intervenciones) el 05/09/2022 18:26:15
Con Webbrowser o selenium ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML Web SCRAP usando FIEL

Publicado por ACSantos13 (19 intervenciones) el 06/09/2022 02:53:09
con WebBrowser
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Luis Fernando (2 intervenciones) el 12/10/2022 16:55:11
Hola Halcón Divino muchas gracias por tu aporte, me fue de gran ayuda. Quería preguntar si saben de algún método con el cual pueda renombrar los XML descargados por el RFC emisor y receptor ojala si tuvieran alguna solución o idea. Muchas gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 242
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Halcón Divino (196 intervenciones) el 12/10/2022 22:59:15
Luis
Que bueno que te sirvio el ejemplo que pase

Lo que yo hago es copiar el xml descargado con otro nombre mas legible , no lo renombro lo copio.
Para esto tienes que leer el xml que descargaste y obtener el RFC Emisor, RFC Receptor, Tipo de CFDI , Fecha Emisión y Folio
Con estos datos genero el nuevo nombre del xml a ser copiado


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
               #region Forma la Estructura del Directorio a Descargar y Copia el XML
                int yearEmision = Convert.ToInt32(comFecha.Substring(0, 4));
                int MonthEmision = Convert.ToInt32(comFecha.Substring(5, 2));
                int DayEmision = Convert.ToInt32(comFecha.Substring(8, 2));
                String FEmision = comFecha.Substring(0, 4) + comFecha.Substring(5, 2) + comFecha.Substring(8, 2);
 
                string ArchivoADescargar = "";
 
                if (Sentido.Contains("Recibidos"))
                {
                    string[] EstructuraDelDirectorio = new string[] { RutaDescargaXml.Trim(), recRfc.ToString().Trim(), "Received", yearEmision.ToString("0000"), MonthEmision.ToString("00"), DayEmision.ToString("00") };
                    string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                    if (!Directory.Exists(RutaDelDirectorioDescarga))
                    {
                        Directory.CreateDirectory(RutaDelDirectorioDescarga);
                    }
                    ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}_{3}_{4}_{5}.xml", comTipoDeComprobante.Substring(0, 1).ToUpper(), emiRfc, recRfc, FEmision, comFolio, timUUID.Substring(0, 6)));
 
                    if (File.Exists(ArchivoADescargar))
                        File.Delete(ArchivoADescargar);
 
                    File.Copy(FileXml, ArchivoADescargar);
 
                    string[] EstructuraDelDirectorio2 = new string[] { RutaDescargaXml.Trim(), recRfc.ToString().Trim(), "Received", emiRfc.ToString().Trim(), yearEmision.ToString("0000"), MonthEmision.ToString("00"), DayEmision.ToString("00") };
                    string RutaDelDirectorioDescarga2 = Path.Combine(EstructuraDelDirectorio2);
                    if (!Directory.Exists(RutaDelDirectorioDescarga2))
                    {
                        Directory.CreateDirectory(RutaDelDirectorioDescarga2);
                    }
                    ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga2, string.Format("{0}_{1}_{2}_{3}_{4}_{5}.xml", comTipoDeComprobante.Substring(0, 1).ToUpper(), emiRfc, recRfc, FEmision, comFolio, timUUID.Substring(0, 6)));
 
 
                    if (File.Exists(ArchivoADescargar))
                        File.Delete(ArchivoADescargar);
 
                    File.Copy(FileXml, ArchivoADescargar);
                    NewFileXml = ArchivoADescargar;
 
                }
 
                if (Sentido.Contains("Emitidos"))
                {
                    string[] EstructuraDelDirectorio = new string[] { RutaDescargaXml.Trim(), emiRfc.ToString().Trim(), "Sended", yearEmision.ToString("0000"), MonthEmision.ToString("00"), DayEmision.ToString("00") };
                    string RutaDelDirectorioDescarga = Path.Combine(EstructuraDelDirectorio);
                    if (!Directory.Exists(RutaDelDirectorioDescarga))
                    {
                        Directory.CreateDirectory(RutaDelDirectorioDescarga);
                    }
                    ArchivoADescargar = Path.Combine(RutaDelDirectorioDescarga, string.Format("{0}_{1}_{2}_{3}_{4}_{5}.xml", comTipoDeComprobante.Substring(0, 1).ToUpper(), emiRfc, recRfc, FEmision, comFolio, timUUID.Substring(0, 6) ));
 
 
                    if (File.Exists(ArchivoADescargar))
                        File.Delete(ArchivoADescargar);
 
                    File.Copy(FileXml, ArchivoADescargar);
                    NewFileXml = ArchivoADescargar;
 
                }
 
                #endregion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por Luis Fernando (2 intervenciones) el 13/10/2022 23:10:25
Perfecto, muchas gracia. Tendrás algún ejemplo de como lo ejecutas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Descarga Masiva XML SAT

Publicado por j pablo (1 intervención) el 11/04/2023 23:10:49
hola que tal alguien me podra ayudar con un codigo que me pueda seleccionar de forma automatica un item de un jquery lo que quiero hacer es que se rellenen los campos de la factura de forma automatica en la version 3.3 logre hacerlo pero con la nueva version se me ha complicado un poco. aqui les comparto el codigo html.

<input type="text" onpaste="return false;" ondragstart="blanktext(event.dataTransfer)"
class="form-control sat-height-field ui-autocomplete-input" autocomplete="off"
id="135textboxautocomplete55" escatalogopadre="1" data-catalogo="-1"
data-maximoelementos="25" maxlength="13 " tabindex="13"
help-text="<span>Selecciona un cliente de los registrados en la Configuración Básica, o bien, selecciona &quot;Otro&quot; para habilitar los campos y capturar la información de un cliente que no está en los frecuentes.</b></span><br/>"
data-bind="valueUpdate: "blur", value: E1350003PFAC085Descrip" view-model="E1350003PFAC085Descrip" listautocalc="1">


<ul id="ui-id-2" tabindex="0" class="ui-menu ui-widget ui-widget-content ui-autocomplete ui-front"
style="display: none; top: 621.938px; left: 135px; width: 258px;">
<li class="ui-menu-item">VEGA671130259</li>
<li class="ui-menu-item">XAXX010101000</li>
<li class="ui-menu-item">XEXX010101000</li>
<li class="ui-menu-item">Otro</li>
</ul>

lo que he intendo es esto;

WebBrowser1.Document.GetElementById("135textboxautocomplete55").SetAttribute("value", "Otro");
WebBrowser1.Document.GetElementById("135textboxautocomplete55").SetAttribute("autocomplete", "on");
WebBrowser1.Document.GetElementById("135textboxautocomplete55").SetAttribute("selected", "selected");
WebBrowser1.Document.GetElementById("135textboxautocomplete55").InvokeMember("click");
no he llegado a tener exito y gracias por su colaboracion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Desbordamiento de la pila línea 2 (8 intervenciones) el 11/07/2023 18:50:31
Buenos días cuando se ejecuta el foreach y llega a InvokeMember("click") envia el mensaje Desbordamiento de la pila en la linea 2
le a pasado esto y como lo solucionaron?

this._wbSat.Document.GetElementsByTagName("input").GetElementsByName("Ecom_User_ID")[0].SetAttribute("value", Usuario);
this._wbSat.Document.GetElementsByTagName("input").GetElementsByName("Ecom_Password")[0].SetAttribute("value", Password);
this._wbSat.Document.GetElementById("UserCaptcha").SetAttribute("value", Captcha);
foreach (HtmlElement el in _wbSat.Document.GetElementsByTagName("input"))
{
if (el.Name == "submit")
{
el.InvokeMember("click");
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Descarga Masiva XML SAT

Publicado por Victor (22 intervenciones) el 11/07/2023 22:17:17
//this.webBrowser1.Document.GetElementById("submit").InvokeMember("click"); // si funciona, pero sale ventana emergente (Desbordamiento de pila)

Cambia esta linea,, por esta,

this.webBrowser1.Document.GetElementById("submit").Focus(); SendKeys.Send("{ENTER}"); // con este similar no, todo ok
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por sms (8 intervenciones) el 11/07/2023 23:23:44
Gracias ya funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rosaura Garcia (5 intervenciones) el 05/09/2023 21:52:12
Buenos días, sigo usando la descarga masiva con CIEC y captcha, primero me salia el error de Navigation Canceled, le estuve moviendo y al parecer las ligas que teníamos antes después de que se autentica cambió y no logro saber cuál es a alguen le sale este error y lo pudo resolver? O será que ya definitivamente tengo que migrarme al webservice con e.Firma?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Rafa (3 intervenciones) el 29/02/2024 14:18:34
HOLA BUEN DIA A TODOS, ALGUIEN HA PODIDO DESCARGAR XML POR SCRAPPING, YO NO HE PODIDO DESDE HACE UNIS DIAS, USTEDES NO AN TENIDO PROBLEMAS AL DESCARGAR ULTIMAMENTE?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descarga Masiva XML SAT

Publicado por Crackneo (32 intervenciones) el 29/02/2024 16:28:24
si, continua funcionando con webscraping, la descarga a la pagina del SAT
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar