visual usando software similares similar sigue reemplaza que programas programa parecido net mejor como alternativa c++ python windows com

usando - Me gustaría llamar a la función WinHttpGetProxyForUrl de Windows C++ desde Python. ¿Se puede hacer esto?



software parecido a visual basic (2)

Esta página en ActiveState: WINHTTP_AUTOPROXY_OPTIONS Object implica que WinHttpGetProxyForUrl está disponible en el módulo win32inet de las extensiones de Win32. SourceForge actualmente no funciona, por lo que no puedo descargarlo para verificar si es o no.

Editar después de "Actualizar 0" en la pregunta:

Necesita pasar un WINHTTP_AUTOPROXY_OPTIONS y un WINHTTP_PROXY_INFO como se documenta aquí en MSDN: WinHttpGetProxyForUrl Function .

Microsoft proporciona un método como parte de WinHTTP que permite a un usuario determinar qué Proxy se debe usar para cualquier URL determinada. Se llama WinHttpGetProxyForUrl .

Desafortunadamente, estoy programando en python, por lo que no puedo acceder directamente a esta función. Puedo usar Win32COM para llamar a cualquier servicio de Microsoft con una interfaz COM.

Entonces, ¿hay alguna forma de acceder a esta función desde Python? Como un problema adicional, no puedo agregar nada más que Python al proyecto. Eso significa que sin embargo es imposible agregar correcciones C # o C ++.

Estoy ejecutando Python2.4.4 con extensiones de Win32 en Windows XP.

Actualización 0:

Esto es lo que tengo hasta ahora:

import win32inet import pprint hinternet = win32inet.InternetOpen("foo 1.0", 0, "", "", 0) # Does not work!!! proxy = win32inet.WinHttpGetProxyForUrl( hinternet, u"http://www.foo.com", 0 )

Obviamente, la última línea es incorrecta, sin embargo, no puedo ver ningún documento o ejemplos en el camino correcto para hacerlo.

Actualización 1:

Voy a volver a preguntar esto como una nueva pregunta, ya que ahora realmente se trata de win32com .


Puede usar ctypes para llamar a la función en WinHttp.dll, es la DLL que contiene ''WinHttpGetProxyForUrl''. ''Aunque para llamarlo necesitarás una variable de sesión HINTERNET, así que aquí te estoy mostrando el primer paso, muestra cómo puedes usar ctypes para llamar a DLL, produce un HINTERNET que debes pasar a WinHttpGetProxyForUrl, que voy a usar salir para ti como ejercicio, si sientes dificultad POST el código intentaré arreglarlo.

Lea más acerca de ctypes @ http://docs.python.org/library/ctypes.html

import ctypes winHttp = ctypes.windll.LoadLibrary("Winhttp.dll") WINHTTP_ACCESS_TYPE_DEFAULT_PROXY=0 WINHTTP_NO_PROXY_NAME=WINHTTP_NO_PROXY_BYPASS=0 WINHTTP_FLAG_ASYNC=0x10000000 # http://msdn.microsoft.com/en-us/library/aa384098(VS.85).aspx HINTERNET = winHttp.WinHttpOpen("PyWin32", WINHTTP_ACCESS_TYPE_DEFAULT_PROXY, WINHTTP_NO_PROXY_NAME, WINHTTP_NO_PROXY_BYPASS, WINHTTP_FLAG_ASYNC) print HINTERNET