void testIoPut() { Qiniu_Error err; Qiniu_Client client; Qiniu_RS_PutPolicy putPolicy; Qiniu_RS_GetPolicy getPolicy; char* uptoken; char* dntoken; Qiniu_Client_InitMacAuth(&client, 1024, NULL); Qiniu_Zero(putPolicy); putPolicy.scope = bucket; uptoken = Qiniu_RS_PutPolicy_Token(&putPolicy, NULL); Qiniu_RS_Delete(&client, bucket, key); clientIoPutFile(uptoken); Qiniu_RS_Delete(&client, bucket, key); clientIoPutBuffer(uptoken); free(uptoken); Qiniu_Zero(getPolicy); getPolicy.scope = "*/*"; dntoken = Qiniu_RS_GetPolicy_Token(&getPolicy, NULL); clientIoGet(dntoken); free(dntoken); Qiniu_Client_Cleanup(&client); }
int main(int argc, char **argv) { Qiniu_Global_Init(-1); Qiniu_Client client; char *accessKey = getenv("QINIU_ACCESS_KEY"); char *secretKey = getenv("QINIU_SECRET_KEY"); char *bucket = getenv("QINIU_TEST_BUCKET"); char *key = "qiniu.png"; int fileType = 1; Qiniu_Mac mac; mac.accessKey = accessKey; mac.secretKey = secretKey; //init Qiniu_Client_InitMacAuth(&client, 1024, &mac); Qiniu_Error error = Qiniu_RS_ChangeType(&client, bucket, key, fileType); if (error.code != 200) { printf("change file type %s:%s error.\n", bucket, key); debug_log(&client, error); } else { printf("change file type %s:%s success.\n\n", bucket, key); } Qiniu_Client_Cleanup(&client); }
void testResumableIoPut(void) { Qiniu_Client client; Qiniu_RS_PutPolicy putPolicy; Qiniu_RS_GetPolicy getPolicy; char* uptoken; char* dnBaseUrl; char* dnRequest; Qiniu_Client_InitMacAuth(&client, 1024, NULL); Qiniu_Zero(putPolicy); putPolicy.scope = bucket; uptoken = Qiniu_RS_PutPolicy_Token(&putPolicy, NULL); Qiniu_RS_Delete(&client, bucket, key); clientIoPutFile(uptoken); Qiniu_RS_Delete(&client, bucket, key); clientIoPutBuffer(uptoken); Qiniu_Free(uptoken); Qiniu_Zero(getPolicy); dnBaseUrl = Qiniu_RS_MakeBaseUrl(domain, key); dnRequest = Qiniu_RS_GetPolicy_MakeRequest(&getPolicy, dnBaseUrl, NULL); clientIoGet(dnRequest); Qiniu_Free(dnRequest); Qiniu_Free(dnBaseUrl); Qiniu_Client_Cleanup(&client); }
int main(int argc, char **argv) { Qiniu_Client client; Qiniu_CDN_RefreshRet ret; Qiniu_Error error; char **p; int i; char *accessKey = getenv("QINIU_ACCESS_KEY"); char *secretKey = getenv("QINIU_SECRET_KEY"); Qiniu_Mac mac; mac.accessKey = accessKey; mac.secretKey = secretKey; //urls to refresh char *urls[] = { "http://csdk.qiniudn.com/qiniu1.png", "http://csdk.qiniudn.com/qiniu2.png", "http://csdk.qiniudn.com/qiniu3.png" }; //init Qiniu_Zero(ret); Qiniu_Client_InitMacAuth(&client, 1024, &mac); error = Qiniu_CDN_RefreshUrls(&client, &ret, urls, 3); if (error.code != 200) { printf("refresh urls error.\n"); debug_log(&client, error); } else { printf("refresh urls success.\n"); printf("Code: %d\n", ret.code); printf("Error: %s\n", ret.error); printf("RequestId: %s\n", ret.requestId); p = ret.invalidUrls; for (i = 0; i < ret.invalidUrlsCount; i++) { printf("InvalidUrl: %s\n", *p); ++p; } p = ret.invalidDirs; for (i = 0; i < ret.invalidDirsCount; i++) { printf("InvalidDir: %s\n", *p); ++p; } printf("UrlQuotaDay: %d\n", ret.urlQuotaDay); printf("UrlSurplusDay: %d\n", ret.urlSurplusDay); printf("DirQuotaDay: %d\n", ret.dirQuotaDay); printf("DirSurplusDay: %d\n", ret.dirSurplusDay); Qiniu_Free_CDNRefreshRet(&ret); } Qiniu_Client_Cleanup(&client); }
void up_chunk_upload() { Qiniu_Global_Init(-1); Qiniu_Rio_PutRet putRet; Qiniu_Client client; Qiniu_RS_PutPolicy putPolicy; Qiniu_Rio_PutExtra putExtra; char *accessKey = getenv("QINIU_ACCESS_KEY"); char *secretKey = getenv("QINIU_SECRET_KEY"); char *bucket = getenv("QINIU_TEST_BUCKET"); char *key = "2017/08/12/upload.mp4"; char *localFile = "E:\\Data\\upload.mp4"; Qiniu_Mac mac; mac.accessKey = accessKey; mac.secretKey = secretKey; Qiniu_Zero(putPolicy); Qiniu_Zero(putExtra); putPolicy.scope = bucket; char *uptoken = Qiniu_RS_PutPolicy_Token(&putPolicy, &mac); //设置机房域名 //Qiniu_Use_Zone_Beimei(Qiniu_False); //Qiniu_Use_Zone_Huabei(Qiniu_True); Qiniu_Use_Zone_Huadong(Qiniu_False); //Qiniu_Use_Zone_Huanan(Qiniu_True); //put extra //putExtra.upHost="http://nbxs-gate-up.qiniu.com"; putExtra.mimeType="video/x-mp4"; //init Qiniu_Client_InitMacAuth(&client, 1024, &mac); Qiniu_Error error = Qiniu_Rio_PutFile(&client, &putRet, uptoken, key, localFile, &putExtra); if (error.code != 200) { printf("upload file %s:%s error.\n", bucket, key); debug_log(&client, error); } else { /*200, 正确返回了, 你可以通过statRet变量查询一些关于这个文件的信息*/ printf("upload file %s:%s success.\n\n", bucket, key); printf("key:\t%s\n", putRet.key); printf("hash:\t%s\n", putRet.hash); } Qiniu_Free(uptoken); Qiniu_Client_Cleanup(&client); }
int main(int argc, char **argv) { Qiniu_RS_StatRet statRet; Qiniu_Client client; char *accessKey = getenv("QINIU_ACCESS_KEY"); char *secretKey = getenv("QINIU_SECRET_KEY"); char *bucket = getenv("QINIU_TEST_BUCKET"); if (str_empty(accessKey) || str_empty(accessKey) || str_empty(bucket)) { printf("please fill `test-env.sh` and then run `source test-env.sh` first\n"); return -1; } char *key = "qiniu.png"; Qiniu_Mac mac; mac.accessKey = accessKey; mac.secretKey = secretKey; Qiniu_Use_Zone_Huadong(Qiniu_True); //init Qiniu_Client_InitMacAuth(&client, 1024, &mac); Qiniu_Error error = Qiniu_RS_Stat(&client, &statRet, bucket, key); if (error.code != 200) { printf("stat file %s:%s error.\n", bucket, key); debug_log(&client, error); } else { /*200, 正确返回了, 你可以通过statRet变量查询一些关于这个文件的信息*/ printf("stat file \t%s:%s success.\n\n", bucket, key); printf("file hash: \t%s\n", statRet.hash); printf("file size: \t%lld\n", statRet.fsize); printf("file put time: \t%lld\n", statRet.putTime); printf("file mime type: \t%s\n", statRet.mimeType); printf("file type: \t%lld\n", statRet.type); } Qiniu_Client_Cleanup(&client); }
int main() { char AccessKey[256]={0}; char ScreteKey[256]={0}; char Space[64]={0}; char Path[256]={0}; time_t deadline; ReadUploadInfo("./Information.ini", AccessKey, ScreteKey, Space, Path); std::vector<FileInfo> fi; ScanAllFile(Path,fi); Qiniu_Client client; QINIU_ACCESS_KEY=(const char *)AccessKey; QINIU_SECRET_KEY=(const char *)ScreteKey; Qiniu_Servend_Init(-1); Qiniu_Client_InitMacAuth(&client, 1024, NULL); printf("\n\nStart Uploading...\n"); for(std::vector<FileInfo>::const_iterator it = fi.begin(); it < fi.end(); ++it) { char hash[29]=""; memcpy(hash,it->Hash,28); bool ft=repeatcheck(&client, Space, it->FileLocalInfo,hash); if (ft) continue; char *output; char encodedPutPolicy[256]={0}; time_t deadline; time(&deadline); deadline=deadline+7200; unsigned char hmac_sha1code[256]={0}; unsigned int hmac_sha1code_length; char encodesign[512]={0}; char scope[256]=""; cJSON *fmt; fmt=cJSON_CreateObject(); sprintf_s(scope,256,"%s:%s",Space,it->FileLocalInfo); cJSON_AddStringToObject(fmt,"scope",scope); cJSON_AddNumberToObject(fmt,"deadline",deadline); output=cJSON_Print(fmt); printf("%s\n",output); //Get Code 3£ºencodedPutPolicy size_t destlength=urlsafe_b64_encode(output,strlen(output),encodedPutPolicy,256); printf("encodedPutPolicy=%s\n",encodedPutPolicy); //Get Code 2£ºencodesign unsigned char *sign = HMAC(EVP_sha1(),ScreteKey,strlen(ScreteKey), (const unsigned char *)encodedPutPolicy,destlength, (unsigned char *) hmac_sha1code, &hmac_sha1code_length); destlength=urlsafe_b64_encode(hmac_sha1code,strlen((const char *)hmac_sha1code),encodesign,256); char UpLoadToken[1024]; sprintf_s(UpLoadToken,"%s:%s:%s",AccessKey,encodesign,encodedPutPolicy); char *LocalHashCode=upload(&client, UpLoadToken, it->FileLocalInfo, it->FileGlobalInfo); //if (LocalHashCode == NULL) //{ // int uploadflag=resumable_upload(&client, UpLoadToken, // it->FileLocalInfo, it->FileGlobalInfo,Space); //} free(output); } printf("\n\nStop Uploading...\n"); Qiniu_Client_Cleanup(&client); Qiniu_Servend_Cleanup(); }
int main(int argc, char **argv) { Qiniu_Client client; Qiniu_CDN_FluxRet ret; Qiniu_Error error; int i, j; char *accessKey = getenv("QINIU_ACCESS_KEY"); char *secretKey = getenv("QINIU_SECRET_KEY"); Qiniu_Mac mac; mac.accessKey = accessKey; mac.secretKey = secretKey; //urls to refresh char *domains[] = { "csdk.qiniudn.com", "javasdk.qiniudn.com" }; int domainsCount = 2; char *startDate = "2017-08-01"; char *endDate = "2017-08-09"; char *g = "day"; //init Qiniu_Zero(ret); Qiniu_Client_InitMacAuth(&client, 1024, &mac); error = Qiniu_CDN_GetFluxData(&client, &ret, startDate, endDate, g, domains, domainsCount); if (error.code != 200) { printf("get domain flux error.\n"); debug_log(&client, error); } else { printf("get domain flux success.\n\n"); printf("Code: %d\n", ret.code); printf("Error: %s\n", ret.error); printf("Domains: %d\n", ret.domainsCount); printf("-----------\n"); for (i = 0; i < ret.timeCount; i++) { printf("%s\t", ret.time[i]); } printf("\n"); //data for (i = 0; i < ret.domainsCount; i++) { printf("Domain:%s\n", domains[i]); Qiniu_CDN_FluxData fluxData = ret.data[i]; if (fluxData.chinaCount == 0) { printf("China: no flux data\n"); } else { printf("China: flux data\n"); for (j = 0; j < fluxData.chinaCount; j++) { printf("%lld\t", fluxData.china[j]); } printf("\n"); } if (fluxData.overseaCount == 0) { printf("Oversea: no flux data\n"); } else { printf("Oversea: flux data\n"); for (j = 0; j < fluxData.overseaCount; j++) { printf("%lld\t", fluxData.oversea[j]); } printf("\n"); } printf("-----------\n"); } Qiniu_Free_CDNFluxRet(&ret); } Qiniu_Client_Cleanup(&client); }