#include <stdio.h>
#include <string.h>
int main() {
char url[101];
fgets(url
, sizeof(url
), stdin
);
// Remove trailing newline
if (len > 0 && url[len - 1] == '\n') {
url[len - 1] = '\0';
}
// Process the URL to remove enclosing quotes if present
char *processed_url = url;
if (strlen(processed_url
) > 0) { if (processed_url[0] == '"' || processed_url[0] == '\'') {
char quote = processed_url[0];
char *end_quote
= strrchr(processed_url
, quote
); if (end_quote && end_quote != processed_url) {
*end_quote = '\0';
processed_url = processed_url + 1;
}
}
}
// Find the query part of the URL
char *query
= strchr(processed_url
, '?'); if (query == NULL) {
return 0;
}
query++; // Move past the '?'
// Variables to store parameter values
char *username_val = NULL;
char *password_val = NULL;
char *profile_val = NULL;
char *role_val = NULL;
char *key_val = NULL;
// Split the query into key-value pairs
char *saveptr;
char *pair = strtok_r(query, "&", &saveptr);
while (pair != NULL) {
if (eq) {
*eq = '\0'; // Split into key and value
char *key = pair;
char *value = eq + 1;
// Check which parameter the key corresponds to
if (strcmp(key
, "username") == 0) { username_val = value;
} else if (strcmp(key
, "pwd") == 0) { password_val = value;
} else if (strcmp(key
, "profile") == 0) { profile_val = value;
} else if (strcmp(key
, "role") == 0) { role_val = value;
} else if (strcmp(key
, "key") == 0) { key_val = value;
}
}
pair = strtok_r(NULL, "&", &saveptr);
}
// Output the values in the specified order
printf("%s\n", username_val
? username_val
: ""); printf("%s\n", password_val
? password_val
: ""); printf("%s\n", profile_val
? profile_val
: ""); printf("%s\n", role_val
? role_val
: ""); printf("%s\n", key_val
? key_val
: "");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBtYWluKCkgewogICAgY2hhciB1cmxbMTAxXTsKICAgIGZnZXRzKHVybCwgc2l6ZW9mKHVybCksIHN0ZGluKTsKICAgIAogICAgLy8gUmVtb3ZlIHRyYWlsaW5nIG5ld2xpbmUKICAgIHNpemVfdCBsZW4gPSBzdHJsZW4odXJsKTsKICAgIGlmIChsZW4gPiAwICYmIHVybFtsZW4gLSAxXSA9PSAnXG4nKSB7CiAgICAgICAgdXJsW2xlbiAtIDFdID0gJ1wwJzsKICAgIH0KICAgIAogICAgLy8gUHJvY2VzcyB0aGUgVVJMIHRvIHJlbW92ZSBlbmNsb3NpbmcgcXVvdGVzIGlmIHByZXNlbnQKICAgIGNoYXIgKnByb2Nlc3NlZF91cmwgPSB1cmw7CiAgICBpZiAoc3RybGVuKHByb2Nlc3NlZF91cmwpID4gMCkgewogICAgICAgIGlmIChwcm9jZXNzZWRfdXJsWzBdID09ICciJyB8fCBwcm9jZXNzZWRfdXJsWzBdID09ICdcJycpIHsKICAgICAgICAgICAgY2hhciBxdW90ZSA9IHByb2Nlc3NlZF91cmxbMF07CiAgICAgICAgICAgIGNoYXIgKmVuZF9xdW90ZSA9IHN0cnJjaHIocHJvY2Vzc2VkX3VybCwgcXVvdGUpOwogICAgICAgICAgICBpZiAoZW5kX3F1b3RlICYmIGVuZF9xdW90ZSAhPSBwcm9jZXNzZWRfdXJsKSB7CiAgICAgICAgICAgICAgICAqZW5kX3F1b3RlID0gJ1wwJzsKICAgICAgICAgICAgICAgIHByb2Nlc3NlZF91cmwgPSBwcm9jZXNzZWRfdXJsICsgMTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgLy8gRmluZCB0aGUgcXVlcnkgcGFydCBvZiB0aGUgVVJMCiAgICBjaGFyICpxdWVyeSA9IHN0cmNocihwcm9jZXNzZWRfdXJsLCAnPycpOwogICAgaWYgKHF1ZXJ5ID09IE5VTEwpIHsKICAgICAgICBwcmludGYoIlxuXG5cblxuXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH0KICAgIHF1ZXJ5Kys7IC8vIE1vdmUgcGFzdCB0aGUgJz8nCiAgICAKICAgIC8vIFZhcmlhYmxlcyB0byBzdG9yZSBwYXJhbWV0ZXIgdmFsdWVzCiAgICBjaGFyICp1c2VybmFtZV92YWwgPSBOVUxMOwogICAgY2hhciAqcGFzc3dvcmRfdmFsID0gTlVMTDsKICAgIGNoYXIgKnByb2ZpbGVfdmFsID0gTlVMTDsKICAgIGNoYXIgKnJvbGVfdmFsID0gTlVMTDsKICAgIGNoYXIgKmtleV92YWwgPSBOVUxMOwogICAgCiAgICAvLyBTcGxpdCB0aGUgcXVlcnkgaW50byBrZXktdmFsdWUgcGFpcnMKICAgIGNoYXIgKnNhdmVwdHI7CiAgICBjaGFyICpwYWlyID0gc3RydG9rX3IocXVlcnksICImIiwgJnNhdmVwdHIpOwogICAgd2hpbGUgKHBhaXIgIT0gTlVMTCkgewogICAgICAgIGNoYXIgKmVxID0gc3RyY2hyKHBhaXIsICc9Jyk7CiAgICAgICAgaWYgKGVxKSB7CiAgICAgICAgICAgICplcSA9ICdcMCc7IC8vIFNwbGl0IGludG8ga2V5IGFuZCB2YWx1ZQogICAgICAgICAgICBjaGFyICprZXkgPSBwYWlyOwogICAgICAgICAgICBjaGFyICp2YWx1ZSA9IGVxICsgMTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIENoZWNrIHdoaWNoIHBhcmFtZXRlciB0aGUga2V5IGNvcnJlc3BvbmRzIHRvCiAgICAgICAgICAgIGlmIChzdHJjbXAoa2V5LCAidXNlcm5hbWUiKSA9PSAwKSB7CiAgICAgICAgICAgICAgICB1c2VybmFtZV92YWwgPSB2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAoa2V5LCAicHdkIikgPT0gMCkgewogICAgICAgICAgICAgICAgcGFzc3dvcmRfdmFsID0gdmFsdWU7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RyY21wKGtleSwgInByb2ZpbGUiKSA9PSAwKSB7CiAgICAgICAgICAgICAgICBwcm9maWxlX3ZhbCA9IHZhbHVlOwogICAgICAgICAgICB9IGVsc2UgaWYgKHN0cmNtcChrZXksICJyb2xlIikgPT0gMCkgewogICAgICAgICAgICAgICAgcm9sZV92YWwgPSB2YWx1ZTsKICAgICAgICAgICAgfSBlbHNlIGlmIChzdHJjbXAoa2V5LCAia2V5IikgPT0gMCkgewogICAgICAgICAgICAgICAga2V5X3ZhbCA9IHZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHBhaXIgPSBzdHJ0b2tfcihOVUxMLCAiJiIsICZzYXZlcHRyKTsKICAgIH0KICAgIAogICAgLy8gT3V0cHV0IHRoZSB2YWx1ZXMgaW4gdGhlIHNwZWNpZmllZCBvcmRlcgogICAgcHJpbnRmKCIlc1xuIiwgdXNlcm5hbWVfdmFsID8gdXNlcm5hbWVfdmFsIDogIiIpOwogICAgcHJpbnRmKCIlc1xuIiwgcGFzc3dvcmRfdmFsID8gcGFzc3dvcmRfdmFsIDogIiIpOwogICAgcHJpbnRmKCIlc1xuIiwgcHJvZmlsZV92YWwgPyBwcm9maWxlX3ZhbCA6ICIiKTsKICAgIHByaW50ZigiJXNcbiIsIHJvbGVfdmFsID8gcm9sZV92YWwgOiAiIik7CiAgICBwcmludGYoIiVzXG4iLCBrZXlfdmFsID8ga2V5X3ZhbCA6ICIiKTsKICAgIAogICAgcmV0dXJuIDA7Cn0=
JnF1b3Q7aHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnAuY29tL3NpZ25pbi9zZXJ2aWNlP3VzZXJuYW1lPXRlc3QmYW1wO3B3ZD10ZXN0JmFtcDtwcm9maWxlPWRldmVsb3BlciZhbXA7cm9sZT1FTElURSZhbXA7a2V5PW1hbmFnZXImcXVvdDs=
"http://w...content-available-to-author-only...p.com/signin/service?username=test&pwd=test&profile=developer&role=ELITE&key=manager"