2016-05-20 14 views
5

Jest to błąd:Błąd przy użyciu Octave 4.0.2 złożyć Coursera przypisania

curl: (1) Protocol "https" not supported or disabled in libcurl 
    !! Submission failed: unexpected error: input file does not exist 
    !! Please try again later. 

Używam systemu Windows 10.

widzę ewentualnie odpowiednią odpowiedź here, ale nie wiem gdzie ten kod zostanie dodany w Octave.

+1

proszę dodać mcve: http://stackoverflow.com/help/mcve – Andy

Odpowiedz

3

spróbuje użyć plaster, który zmienia się następujące linie w funkcji reakcji submitWithConfiguration.m:

PARAMETRY = { „jsonBody” ciało};
% responseBody = urlread (submissionUrl, 'post', params); STARY KOD
[kod, responseBody] = system (sprintf ('echo jsonBody =% s | curl -k -X POST -d @ -% s', body, submissionUrl));

d @ - pobiera dane z pliku na bieżącym stdin (echo wypełnia).
-k pozwala curl wykonać "niepewny" SSL
(patrz curl --help)
HTH

==================
kod jest tym, który mam, ale jestem W7.
zrobić kolejny spróbować ustawiając cudzysłowie url w:
funkcja submissionUrl = submissionUrl()
submissionUrl =
' "https://www-origin.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1"'; koniec

(wykorzystanie ostrożność: ' "i"', który cytujemy "https: // .." w linii poleceń).

Jeśli to nie zadziała, zrób bezpośredniego połączenia do Coursera z linii poleceń (cMD):

Curl -k „https://www-origin.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1

Wywoła Coursera, a jak nie ma wysłany formularz, strona odpowie stronie html z blisko końca ... Nie znaleziono działania ...

jeśli to jest wor ks, pb prawdopodobnie nie jest zawinięty, ale gdzieś indziej. daj nam znać.

1

Zmiany następujące w submitWithConfiguration.m:

curl -k -X POST 

do

curl -k -XPOST 

i spróbuj ponownie.

+0

Shoud być zakończona z twoją wersją os i curl, nie rozwiązała go w Linuksie min 18.2. – jgpATs2w

1

W odpowiedzi nr 1 wystąpił błąd, który został poprawiony w odpowiedzi nr 2.

Zmiana jest: W funkcji, odpowiedź funkcja = submitParts (conf, Email, symboliczne, części) stosuje się następujące zmiany

  1. komentarz linia responseBody = urlread(submissionUrl, 'post', params);

  2. Rodzaj w miejsce tego: [code, responseBody] = system(sprintf('echo jsonBody=%s | curl -k -XPOST -d @- %s', body, submissionUrl));

Więc ostateczny kod funkcji wygląda

function response = submitParts(conf, email, token, parts) 
    body = makePostBody(conf, email, token, parts); 
    submissionUrl = submissionUrl(); 
    params = {'jsonBody', body}; 
    #responseBody = urlread(submissionUrl, 'post', params); 
    [code, responseBody] = system(sprintf('echo jsonBody=%s | curl -k -XPOST -d @- %s', body, submissionUrl)); 
    response = loadjson(responseBody); 
end 
6

URL zostanie zmieniony. Użyj nowego w funkcji submissionUrl() w pliku lib/submitWithConfiguration.m.

function submissionUrl = submissionUrl() 
    %submissionUrl = 'https://www-origin.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1'; 
    submissionUrl = 'https://www.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1'; 
end 

Aby sprawdzić URL, możesz użyć zwijania w terminalu.

curl -k 'https://www.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1' 

Musisz dostać coś takiego {"message":"","statusCode":404}

z błędną adresu URL dose't dostać nic.

Powiązane problemy