Pro c http POST метод для проверки возможности входа - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь написать pro c http с методом post, чтобы проверить возможность входа на сайт.

Это код, который я использую:

%let username=MyName;
%let pwd=password;
filename input TEMP;
filename resp TEMP;
filename headers TEMP;

/*
Macro that simply echoes the contents of a fileref to the SAS log
*/
%macro echofile(file);
data _null_;
infile &file;
input;
put _infile_;
run;
%mend;
/*
* Create the input file for the request
*/
data _null_;
 file input recfm=f lrecl=1;
 put "username=&username.%nrstr(&password)=&pwd";
run;

%echofile(input);

proc http
method="POST"
url="https://logon-website.com/security_check"
in=input
headerout=headers
out=resp;
run;

the Вывод макроса echofile:

username=MyName&password=password
NOTE: 1 record was read from the infile INPUT.

Форма вывода в соответствующем файле:

<form id="fm1" class="form-stacked" onSubmit="return setSubmitUrl(this);" action="https://logon-website.com/security_check" method="post">
<fieldset>

        <legend>Sign In<sup>&reg;</sup></legend>
    <div class="clearfix">
            <label for="username"><span class="accesskey">U</span>ser ID:</label>


                    <input id="username" name="username" class="required" tabindex="1" accesskey="u" type="text" value="" size="25" autocomplete="off"/>


    </div>
    <div class="clearfix">
            <label for="password"><span class="accesskey">P</span>assword:</label>


            <input id="password" name="password" class="required" tabindex="2" accesskey="p" type="password" value="" size="25" autocomplete="off"/>
    </div>
</fieldset>
<input type="hidden" name="lt" value="LT-2117-BJYk9XdRaLUPCHpGyDvAC0sxNf6Vd7" />
<input type="hidden" name="execution" value="e1s1" />
<input type="hidden" name="_eventId" value="submit" />
    <div class="submitb"><input id="Logon" type="submit" value="Sign In" onClick="this.disabled=true;this.form.submit();" tabindex="3" /></div>

Значения имени пользователя и пароля отсутствуют в форме. Я получаю 200 ОК, но я ожидаю 302 НАЙДЕНЫ. Я использую SAS9.4.

Есть ли способ правильно использовать метод post, когда content-type = application / x- www-form-urlencoded через pro c http в SAS 9.4?

...