treeform / puppy

Puppy fetches via HTTP and HTTPS
MIT License
184 stars 27 forks source link

Error: unhandled exception: WinHttpOpen error: 87 [PuppyError] #109

Open bdkhoa2022 opened 10 months ago

bdkhoa2022 commented 10 months ago

my code:

import puppy

echo fetch("http://neverssl.com/")

env:
Windows 7 Home Basic x64

nim c test.nim
output:

C:\Users\user\.nimble\pkgs\puppy-2.1.0\puppy.nim(108) fetch
C:\Users\user\.nimble\pkgs\puppy-2.1.0\puppy.nim(57) get
C:\Users\user\.nimble\pkgs\puppy-2.1.0\puppy.nim(37) fetch
C:\Users\user\.nimble\pkgs\puppy-2.1.0\puppy\platforms\win32\platform.nim(18) in
ternalFetch
Error: unhandled exception: WinHttpOpen error: 87 [PuppyError]
treeform commented 10 months ago

Wow thats a very strange error. I need to find Windows 7 to test it.

Can you try passing it different params? https://github.com/treeform/puppy/blob/938329893d0ba327e64e9c193a7d6e14fd49e64b/src/puppy/platforms/win32/platform.nim#L12

like: WINHTTP_ACCESS_TYPE_DEFAULT_PROXY WINHTTP_ACCESS_TYPE_NO_PROXY WINHTTP_ACCESS_TYPE_NAMED_PROXY

And see if that works? Do you have a proxy setup?

bdkhoa2022 commented 9 months ago

Wow thats a very strange error. I need to find Windows 7 to test it.

Can you try passing it different params?

https://github.com/treeform/puppy/blob/938329893d0ba327e64e9c193a7d6e14fd49e64b/src/puppy/platforms/win32/platform.nim#L12

like: WINHTTP_ACCESS_TYPE_DEFAULT_PROXY WINHTTP_ACCESS_TYPE_NO_PROXY WINHTTP_ACCESS_TYPE_NAMED_PROXY

And see if that works? Do you have a proxy setup?

"WINHTTP_ACCESS_TYPE_NO_PROXY" work fine,thanks.

puppy/src/puppy/platforms/win32/platform.nim

  WINHTTP_ACCESS_TYPE_NO_PROXY* = 1
  WINHTTP_ACCESS_TYPE_DEFAULT_PROXY* = 2
  WINHTTP_ACCESS_TYPE_NAMED_PROXY* = 3
  WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY* = 4
bung87 commented 5 months ago

according to https://github.com/genotrance/px/issues/43#issuecomment-387634858

it need to be WINHTTP_ACCESS_TYPE_DEFAULT_PROXY when windows version under 6.3

"6.3" refers to Windows 8.1 or Windows Server 2012 R2.

Windows 7 Home Basic x64 is 6.1.7601.