2014-10-19 7 views
0

PureBasic은 JSON 라이브러리를 추가하여 웹과 잘 어울립니다. 그러나 나는 ReceiveHTTPFile() 함수에서 어떤 유형의 출력을 얻고 있는지 알 수 없다.PureBasic에서 ReceiveHTTPFile 함수의 출력은 어디에 있습니까?

이 주제에 관한 문서는 매우 희소합니다.

여기 내 코드입니다.

Procedure GetBitminterData() 
FireUpNetwork = InitNetwork() 

Debug "If the number below is anything other than zero the network library is working." 
Debug FireUpNetwork 

URL$ = "https://bitminter.com/api/pool/stats/" 
FileName$ = "stats.json" 
BitMinterData = ReceiveHTTPFile(URL$, Filename$) ;THIS LINE HERE MEH 

Debug URL$ 
Debug BitMinterData 

; Read JSON data from a string 
; More importantly parse the bitminter stats.json file from above. 

Input$ = BitMinterData 
If ParseJSON(#JSON_Parse, Input$) 
    NewList Numbers() 
    ExtractJSONList(JSONValue(#JSON_Parse), Numbers()) 

    Debug "---------- Extracting values ----------" 
    Debug "" 
    ForEach Numbers() 
    Debug Numbers() 
    Next 
EndIf 

EndProcedure 
+0

[documentation] (http://www.purebasic.com/documentation/http/receivehttpfile.html)은 매우 명확합니다. "다운로드가 성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다." 다운로드에 실패하면 0이 반환됩니다. 다른 어떤 값이라도 그것이 효과가 있었다는 것을 의미합니다. 그 중 이해하기 어려운 부분은 무엇입니까? 귀하의 코드는 반환 값을 입력으로 사용하려고 시도합니다 ('Input $ = BitMinterData'). 결과로 파일을 가져올 것이라고 생각하는 것 같습니다. 당신은 아닙니다. 파일은 디스크에 있고, 파일 이름은'FileName $ '(동일한 문서 링크의 매개 변수 섹션에도 설명되어 있습니다)에 제공됩니다. –

+0

PureBASIC 5.40 https가 승인되었습니다. –

답변

0

문제는 purebasic의 모든 http 함수가 "https"를 처리 할 수 ​​없다는 것입니다. 필자는 최신의 안정된 PureBasic 5.31으로 테스트했습니다. "http"로 URL을 시도하면 제대로 작동합니다. "https"를 시도하면 작동하지 않습니다.

purebasic (https://github.com/Progi1984/RWrappers/tree/master/LibCurl) 용 libcurl 래퍼가 있지만 5 년이며 더 이상 purebasic 5.31과 호환되지 않습니다.

"완료"가 필요한 경우 "컬"바이너리 (http://curl.haxx.se/download.html#Win32)를 다운로드하여 순수 기본 응용 프로그램 내에서 실행할 수 있습니다.