2016-05-20 23 views
5

Đây là lỗi:Lỗi sử dụng Octave 4.0.2 nộp Coursera hoặc bài

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

Tôi đang sử dụng Windows 10

tôi thấy một câu trả lời có thể có liên quan here, nhưng tôi không biết nơi mã này sẽ được thêm vào trong Octave.

+1

vui lòng thêm mcve: http://stackoverflow.com/help/mcve – Andy

Trả lời

3

Cố gắng sử dụng các bản vá rằng những thay đổi dòng sau trong hàm phản ứng của submitWithConfiguration.m:

params = { 'jsonBody', body};
% phản hồiBody = urlread (submitUrl, 'post', params); MÃ OLD
[code, responseBody] = system (sprintf ('echo jsonBody =% s | curl -k -X POST -d @ -% s', body, submissionUrl));

d @ - lấy dữ liệu trong tệp trên stdin hiện tại (tiếng vọng điền vào).
-k phép curl để thực hiện "không an toàn" SSL
(xem --help curl)
HTH

==================
mã của bạn là cái tôi có, nhưng tôi là W7.
Bạn thử khác bằng cách thiết lập dấu ngoặc kép quanh các url trong:
chức năng submissionUrl = submissionUrl()
submissionUrl =
'https://www-origin.coursera.org/api/onDemandProgrammingImmediateFormSubmissions.v1 "'; cuối

(sử dụng thận trọng: ' 'và'' rằng sẽ báo "https: // .." trên dòng lệnh.)

Nếu nó không hoạt động, thực hiện cuộc gọi trực tiếp đến Coursera với một dòng lệnh (cmd):

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

này sẽ gọi Coursera và, như không có hình thức gửi, trang web sẽ trả lời với một trang html với gần cuối cùng ... Không tìm thấy hành động ....

nếu điều này wor ks, pb có lẽ không nằm trong curl, nhưng ở một nơi khác. hãy cho chúng tôi biết.

1

Thay đổi sau trong submitWithConfiguration.m:

curl -k -X POST 

để

curl -k -XPOST 

và thử lại.

+0

shoud được hoàn thành với phiên bản hệ điều hành và curl của bạn, không giải quyết được trong linux min 18.2. – jgpATs2w

1

Có lỗi đánh máy trong Câu trả lời số 1, đã được sửa trong Câu trả lời # 2.

Sự thay đổi là: Trong chức năng, chức năng phản ứng = submitParts (conf, email, token, phụ tùng) Áp dụng những điều sau đây thay đổi

  1. Comment dòng responseBody = urlread(submissionUrl, 'post', params);

  2. Loại những điều sau thay cho nó, [code, responseBody] = system(sprintf('echo jsonBody=%s | curl -k -XPOST -d @- %s', body, submissionUrl));

Vì vậy, mã cuối cùng của hàm trông giống như

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 được thay đổi. Sử dụng hàm mới trong hàm submitUrl() trong tệp lib/submitWithConfiguration.m.

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

Để kiểm tra URL, bạn có thể sử dụng curl trong thiết bị đầu cuối.

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

Bạn phải có được một cái gì đó giống như {"message":"","statusCode":404}

Với URL sai bạn dose't có được bất cứ điều gì.

Các vấn đề liên quan