日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用sonar-ws-client-4.2.jar 获取sonar数据

發(fā)布時(shí)間:2023/12/19 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用sonar-ws-client-4.2.jar 获取sonar数据 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SonarUtils.java 工具類:

public class SonarUtils {private static Logger logger = LoggerFactory.getLogger(SonarUtils.class);static String[] MEASURES_TO_GET = new String[]{"violations", "ncloc", "files", "duplicated_lines_density","violations_density", "blocker_violations", "critical_violations", "major_violations", "minor_violations","info_violations", "sqale_index", "sqale_debt_ratio", "comment_lines", "comment_lines_density","public_undocumented_api", "public_documented_api_density", SonarQualityParam.COMPLEXITY.getType(),SonarQualityParam.TESTS.getType(), SonarQualityParam.TEST_ERRORS.getType(),SonarQualityParam.TEST_FAILURES.getType(), SonarQualityParam.TEST_EXECUTION_TIME.getType(),SonarQualityParam.LINES_TO_COVER.getType(), SonarQualityParam.UNCOVERED_LINES.getType(),SonarQualityParam.ALLLINES.getType(), SonarQualityParam.DUPLICATED_LINES.getType(),SonarQualityParam.LINE_COVERAGE.getType(), SonarQualityParam.COVERAGE.getType(),SonarQualityParam.SKIPPED_TESTS.getType(), SonarQualityParam.TEST_SUCCESS_DENSITY.getType()};public static List<Measure> getallMeasures(String resourceKey,String sonarhost) {logger.info("The resourceKey is:" + resourceKey);// 用戶名String username = PropertiesReader.getProperty("sonar.userName");// 密碼String password = PropertiesReader.getProperty("sonar.passWd");Sonar sonar = Sonar.create(sonarhost, username, password);ResourceQuery query = ResourceQuery.createForMetrics(resourceKey, SonarQualityParam.convert2StringArray());query.setIncludeTrends(true);Resource resource = sonar.find(query);// 循環(huán)遍歷獲取"violations", "lines"List<Measure> measureList = null;if (null != resource) {measureList = resource.getMeasures();List<Measure> others = getOthers(resourceKey, sonarhost);if(CollectionUtils.isNotEmpty(others)){if (CollectionUtils.isEmpty(measureList)) {measureList = others;} else {measureList.addAll(others);}}/*Map<String, String> targetMap = null;try {targetMap = httpRequest(sonarHost,resourceKey,*//*"new_coverage,ncloc"*//*"new_coverage,new_lines,new_sqale_debt_ratio,new_maintainability_rating");} catch (Exception e) {logger.info("獲取api出錯(cuò),eem:{}",e.getMessage());}if(null != targetMap){Iterator<Entry<String, String>> iter = targetMap.entrySet().iterator();while(iter.hasNext()){Map.Entry<String, String> entry = (Entry<String, String>) iter.next();if(null != entry.getValue()){Measure measure = new Measure();measure.setMetricKey(entry.getKey().toString());measure.setValue(Double.parseDouble(new DecimalFormat("0.0").format(Double.parseDouble(entry.getValue().toString()))));measure.setFormattedValue(new DecimalFormat("0.0").format(Double.parseDouble(entry.getValue().toString())));measureList.add(measure);}}}*/}return measureList;}private static List<Measure> getOthers(String resourceKey,String sonarhost) {// 用戶名String username = PropertiesReader.getProperty("sonar.userName");// 密碼String password = PropertiesReader.getProperty("sonar.passWd");SonarMeasuresComponentClient.Builder builder = SonarMeasuresComponentClient.builder().url(sonarhost).login(username).password(password);//"http://sonar.cnsuning.com"SonarMeasuresComponentClient measuresComponentClient = builder.build();IssueQuery query = IssueQuery.create();query.urlParams().put("componentKey", resourceKey);query.urlParams().put("metricKeys", "new_uncovered_conditions,new_uncovered_lines,new_duplicated_blocks,new_lines_to_cover,bugs,files,new_bugs,new_vulnerabilities,new_code_smells,new_duplicated_lines,new_violations,uncovered_conditions,new_branch_coverage,new_coverage,new_lines,new_sqale_debt_ratio,new_maintainability_rating");query.urlParams().put("additionalFields", "metrics,periods");MeasuresComponent measuresComponent = measuresComponentClient.measuresComponentClient().find(query);return measuresComponent.getMeasures();}/*public static Map<String, String> httpRequest(String sonarHost, String componentKey, String targets) throws Exception {*//* Map<String, Object> paramMap = new HashMap<String, Object>();paramMap.put("componentKey", componentKey);paramMap.put("metricKeys", targets);paramMap.put("additionalFields", "metrics,periods");*//*List<String> targetList = Arrays.asList(targets.split(","));Map<String, String> targetMap = new HashMap<String, String>();String jsonStr = HttpRequest.sendGet(sonarHost + "/api/measures/component", "componentKey=" + componentKey + "&metricKeys=" + targets + "&additionalFields=metrics,periods");//HttpHandler.request(sonarHost + "/api/measures/component", paramMap, new HashMap<String, String>(), HttpHandler.BodyType.BODY_TYPE_JSON, HttpHandler.MethodType.METHOD_TYPE_POST).getData();JSONArray measures = JSONObject.fromObject(jsonStr).getJSONObject("component").getJSONArray("measures");if (StringUtils.isNotBlank(jsonStr) && CollectionUtils.isNotEmpty(measures)) {for (int i = 0; i < measures.size(); i++) {JSONObject measure = measures.getJSONObject(i);if (null != measure.get("periods")) {String metric = measure.getString("metric");JSONArray periods = measure.getJSONArray("periods");for (String target : targetList) {if (StringUtils.equals(target, String.valueOf(metric)) && CollectionUtils.isNotEmpty(periods)) {for (int j = 0; j < periods.size(); j++) {JSONObject period = periods.getJSONObject(j);targetMap.put(metric + "_" + period.getInt("index"), period.getString("value"));}break;}}}}}return targetMap;}*//*** @param componentId* @return*/public static Collection<UserIssuesBO> getIssues(String componentId) {// Sonar參數(shù)地址String sonarHost = PropertiesReader.getProperty("jenkins.sonar.host");//String sonarHost = "http://10.37.87.244:9000";// 用戶名String sonarUsername = PropertiesReader.getProperty("sonar.userName");// 密碼String sonarPwd = PropertiesReader.getProperty("sonar.passWd");SonarClient.Builder builder = SonarClient.builder().url(sonarHost).login(sonarUsername).password(sonarPwd);//"http://sonar.cnsuning.com"SonarClient sonarClient = builder.build();Map<String, UserIssuesBO> result = new HashMap<String, UserIssuesBO>();createUserIssues(sonarClient, 1, 500, componentId, result);//"AV2cwEligP6n2VFNN5AE"if (!result.isEmpty()) {return result.values();}return new ArrayList();}/*** @param sonarClient* @param page* @param pageSize* @param componentId* @param result* @return*/private static Map<String, UserIssuesBO> createUserIssues(SonarClient sonarClient, Integer page, Integer pageSize, String componentId, Map<String, UserIssuesBO> result) {IssueQuery query = IssueQuery.create();query.asc(true).pageSize(pageSize).pageIndex(page);query.urlParams().put("componentUuids", componentId);query.urlParams().put("facetMode", "count");query.urlParams().put("facets", "rules,types,authors,resolutions");query.urlParams().put("additionalFields", "_all");IssueClient issueClient = sonarClient.issueClient();System.out.print("");Issues issues = issueClient.find(query);sum(result, issues);Paging paging = issues.paging();Integer pages = paging.total() % pageSize > 0 ? ((paging.total() / pageSize) + 1) : (paging.total() % pageSize);//sonar 只支持查詢 前10000行記錄if (page >= pages || page >= 20) {return result;}return createUserIssues(sonarClient, ++page, pageSize, componentId, result);}/*** @param result* @param issues*/private static void sum(Map<String, UserIssuesBO> result, Issues issues) {if (issues == null || com.suning.udmp.quark.CollectionUtils.isEmpty(issues.list())) {return;}for (Issue issue : issues.list()) {if (result.get(issue.author()) == null) {UserIssuesBO tmp = new UserIssuesBO();tmp.setUserNo(issue.author());result.put(issue.author(), tmp);}UserIssuesBO userIssuesBO = result.get(issue.author());userIssuesBO.setProblem(userIssuesBO.getProblem() + 1);if (SeverityEnum.MAJOR.getCode().equals(issue.severity().toUpperCase())) {userIssuesBO.setMajorProblem(userIssuesBO.getMajorProblem() + 1);} else if (SeverityEnum.MINOR.getCode().equals(issue.severity().toUpperCase())) {userIssuesBO.setMinorProblem(userIssuesBO.getMinorProblem() + 1);} else if (SeverityEnum.CRITICAL.getCode().equals(issue.severity().toUpperCase())) {userIssuesBO.setSeriousProblem(userIssuesBO.getSeriousProblem() + 1);} else if (SeverityEnum.BLOCKER.getCode().equals(issue.severity().toUpperCase())) {userIssuesBO.setBlockProblem(userIssuesBO.getBlockProblem() + 1);}}}/*** @param componentId 全局視圖 傳 空* @return*/public static RulesIssues getRulesIssues(String componentId) {// Sonar參數(shù)地址String sonarHost = PropertiesReader.getProperty("jenkins.sonar.host");//String sonarHost = "http://10.37.87.244:9000";// 用戶名String sonarUsername = PropertiesReader.getProperty("sonar.userName");// 密碼String sonarPwd = PropertiesReader.getProperty("sonar.passWd");SonarRulesClient.Builder builder = SonarRulesClient.builder().url(sonarHost).login(sonarUsername).password(sonarPwd);//"http://sonar.cnsuning.com"SonarRulesClient sonarClient = builder.build();return createRuleIssues(sonarClient, componentId);//"AV2cwEligP6n2VFNN5AE"}/*** @param sonarClient* @param componentId 全局視圖 傳 空* @return*/private static RulesIssues createRuleIssues(SonarRulesClient sonarClient, String componentId) {IssueQuery query = IssueQuery.create();query.pageSize(1).pageIndex(1);//非全局的視圖數(shù)據(jù)if (StringUtils.isNotBlank(componentId)) {query.urlParams().put("componentUuids", componentId);}query.urlParams().put("facets", "rules,authors,types");query.urlParams().put("additionalFields", "_all");RulesIssueClient issueClient = sonarClient.issueClient();RulesIssues issues = (RulesIssues) issueClient.find(query);return issues;}private enum SeverityEnum {BLOCKER("BLOCKER"),CRITICAL("CRITICAL"),MAJOR("MAJOR"),MINOR("MINOR"),;private String code;private SeverityEnum(String code) {this.code = code;}public String getCode() {return code;}}public static class UserIssuesBO {private String userNo;private Integer problem = 0;private Integer majorProblem = 0;private Integer minorProblem = 0;private Integer seriousProblem = 0;private Integer blockProblem = 0;public String getUserNo() {return userNo;}public void setUserNo(String userNo) {this.userNo = userNo;}public Integer getProblem() {return problem;}public void setProblem(Integer problem) {this.problem = problem;}public Integer getMajorProblem() {return majorProblem;}public void setMajorProblem(Integer majorProblem) {this.majorProblem = majorProblem;}public Integer getMinorProblem() {return minorProblem;}public void setMinorProblem(Integer minorProblem) {this.minorProblem = minorProblem;}public Integer getSeriousProblem() {return seriousProblem;}public void setSeriousProblem(Integer seriousProblem) {this.seriousProblem = seriousProblem;}public Integer getBlockProblem() {return blockProblem;}public void setBlockProblem(Integer blockProblem) {this.blockProblem = blockProblem;}}}

對(duì)應(yīng)的sonar-ws-client.jar相關(guān)類的源碼:

org.sonar.wsclient.Sonar

package org.sonar.wsclient;import java.util.Collections; import java.util.List; import org.sonar.wsclient.connectors.Connector; import org.sonar.wsclient.connectors.ConnectorFactory; import org.sonar.wsclient.services.CreateQuery; import org.sonar.wsclient.services.DeleteQuery; import org.sonar.wsclient.services.Model; import org.sonar.wsclient.services.Query; import org.sonar.wsclient.services.UpdateQuery; import org.sonar.wsclient.services.WSUtils; import org.sonar.wsclient.unmarshallers.UnmarshalException; import org.sonar.wsclient.unmarshallers.Unmarshaller; import org.sonar.wsclient.unmarshallers.Unmarshallers;public class Sonar {private Connector connector;static{WSUtils.setInstance(new JdkUtils());}public Sonar(Connector connector){this.connector = connector;}public Connector getConnector(){return this.connector;}public <M extends Model> M find(Query<M> query){String json = this.connector.execute(query);M result = null;if (json != null) {try{Unmarshaller<M> unmarshaller = Unmarshallers.forModel(query.getModelClass());result = unmarshaller.toModel(json);}catch (Exception e){throw new UnmarshalException(query, json, e);}}return result;}public <M extends Model> List<M> findAll(Query<M> query){String json = this.connector.execute(query);List<M> result;List<M> result;if (json == null) {result = Collections.emptyList();} else {try{Unmarshaller<M> unmarshaller = Unmarshallers.forModel(query.getModelClass());result = unmarshaller.toModels(json);}catch (Exception e){throw new UnmarshalException(query, json, e);}}return result;}public <M extends Model> M create(CreateQuery<M> query){String json = this.connector.execute(query);M result = null;if (json != null) {try{Unmarshaller<M> unmarshaller = Unmarshallers.forModel(query.getModelClass());result = unmarshaller.toModel(json);}catch (Exception e){throw new UnmarshalException(query, json, e);}}return result;}public void update(UpdateQuery<?> query){this.connector.execute(query);}public void delete(DeleteQuery query){this.connector.execute(query);}public static Sonar create(String host){return new Sonar(ConnectorFactory.create(new Host(host)));}public static Sonar create(String host, String username, String password){return new Sonar(ConnectorFactory.create(new Host(host, username, password)));} }

org.sonar.wsclient.SonarClient

package org.sonar.wsclient;import javax.annotation.Nullable; import org.sonar.wsclient.internal.HttpRequestFactory; import org.sonar.wsclient.issue.ActionPlanClient; import org.sonar.wsclient.issue.IssueClient; import org.sonar.wsclient.issue.internal.DefaultActionPlanClient; import org.sonar.wsclient.issue.internal.DefaultIssueClient; import org.sonar.wsclient.permissions.PermissionClient; import org.sonar.wsclient.permissions.internal.DefaultPermissionClient; import org.sonar.wsclient.project.ProjectClient; import org.sonar.wsclient.project.internal.DefaultProjectClient; import org.sonar.wsclient.qualitygate.QualityGateClient; import org.sonar.wsclient.qualitygate.internal.DefaultQualityGateClient; import org.sonar.wsclient.rule.RuleClient; import org.sonar.wsclient.rule.RuleTagClient; import org.sonar.wsclient.rule.internal.DefaultRuleClient; import org.sonar.wsclient.rule.internal.DefaultRuleTagClient; import org.sonar.wsclient.system.SystemClient; import org.sonar.wsclient.system.internal.DefaultSystemClient; import org.sonar.wsclient.user.UserClient; import org.sonar.wsclient.user.internal.DefaultUserClient;public class SonarClient {public static final int DEFAULT_CONNECT_TIMEOUT_MILLISECONDS = 30000;public static final int DEFAULT_READ_TIMEOUT_MILLISECONDS = 60000;final HttpRequestFactory requestFactory;private SonarClient(Builder builder){this.requestFactory = new HttpRequestFactory(builder.url).setLogin(builder.login).setPassword(builder.password).setProxyHost(builder.proxyHost).setProxyPort(builder.proxyPort).setProxyLogin(builder.proxyLogin).setProxyPassword(builder.proxyPassword).setConnectTimeoutInMilliseconds(builder.connectTimeoutMs).setReadTimeoutInMilliseconds(builder.readTimeoutMs);}public IssueClient issueClient(){return new DefaultIssueClient(this.requestFactory);}public ActionPlanClient actionPlanClient(){return new DefaultActionPlanClient(this.requestFactory);}public UserClient userClient(){return new DefaultUserClient(this.requestFactory);}public PermissionClient permissionClient(){return new DefaultPermissionClient(this.requestFactory);}public ProjectClient projectClient(){return new DefaultProjectClient(this.requestFactory);}public RuleTagClient ruleTagClient(){return new DefaultRuleTagClient(this.requestFactory);}public RuleClient ruleClient(){return new DefaultRuleClient(this.requestFactory);}public QualityGateClient qualityGateClient(){return new DefaultQualityGateClient(this.requestFactory);}public SystemClient systemClient(){return new DefaultSystemClient(this.requestFactory);}public static Builder builder(){return new Builder(null);}public static SonarClient create(String serverUrl){return builder().url(serverUrl).build();}public static class Builder{private String login;private String password;private String url;private String proxyHost;private String proxyLogin;private String proxyPassword;private int proxyPort = 0;private int connectTimeoutMs = 30000;private int readTimeoutMs = 60000;public Builder url(String url){this.url = url;return this;}public Builder login(@Nullable String login){this.login = login;return this;}public Builder password(@Nullable String password){this.password = password;return this;}public Builder proxy(@Nullable String proxyHost, int proxyPort){this.proxyHost = proxyHost;this.proxyPort = proxyPort;return this;}public Builder proxyLogin(@Nullable String proxyLogin){this.proxyLogin = proxyLogin;return this;}public Builder proxyPassword(@Nullable String proxyPassword){this.proxyPassword = proxyPassword;return this;}public Builder connectTimeoutMilliseconds(int i){this.connectTimeoutMs = i;return this;}public Builder readTimeoutMilliseconds(int i){this.readTimeoutMs = i;return this;}public SonarClient build(){if ((this.url == null) || ("".equals(this.url))) {throw new IllegalStateException("Server URL must be set");}return new SonarClient(this, null);}} }

org.sonar.wsclient.services.ResourceQuery

package org.sonar.wsclient.services;public class ResourceQueryextends Query<Resource> {public static final String BASE_URL = "/api/resources";public static final int DEPTH_UNLIMITED = -1;private Integer depth;private String resourceKeyOrId;private Integer limit;private String[] scopes;private String[] qualifiers;private String[] metrics;private String[] rules;private String[] ruleSeverities;private String[] characteristicKeys;private boolean excludeRules = true;private boolean excludeRuleSeverities = true;private Boolean includeTrends = null;private Boolean includeAlerts = null;private Boolean verbose = Boolean.FALSE;public ResourceQuery() {}public ResourceQuery(String resourceKeyOrId){this.resourceKeyOrId = resourceKeyOrId;}public ResourceQuery(long resourceId){this.resourceKeyOrId = String.valueOf(resourceId);}public Integer getDepth(){return this.depth;}public ResourceQuery setDepth(Integer depth){this.depth = depth;return this;}public ResourceQuery setAllDepths(){return setDepth(Integer.valueOf(-1));}public String getResourceKeyOrId(){return this.resourceKeyOrId;}public ResourceQuery setResourceKeyOrId(String resourceKeyOrId){this.resourceKeyOrId = resourceKeyOrId;return this;}public ResourceQuery setResourceId(int resourceId){this.resourceKeyOrId = Integer.toString(resourceId);return this;}public ResourceQuery setCharacteristics(String... keys){this.characteristicKeys = keys;return this;}public Integer getLimit(){return this.limit;}public ResourceQuery setLimit(Integer limit){this.limit = limit;return this;}public String[] getScopes(){return this.scopes;}public ResourceQuery setScopes(String... scopes){this.scopes = scopes;return this;}public String[] getQualifiers(){return this.qualifiers;}public ResourceQuery setQualifiers(String... qualifiers){this.qualifiers = qualifiers;return this;}public String[] getMetrics(){return this.metrics;}public ResourceQuery setMetrics(String... metrics){this.metrics = metrics;return this;}public String[] getRules(){return this.rules;}public ResourceQuery setRules(String... rules){this.rules = rules;this.excludeRules = false;return this;}@Deprecatedpublic String[] getRuleCategories(){return null;}@Deprecatedpublic ResourceQuery setRuleCategories(String... ruleCategories){return this;}public String[] getRuleSeverities(){return this.ruleSeverities;}public ResourceQuery setRuleSeverities(String... ruleSeverities){this.ruleSeverities = ruleSeverities;this.excludeRuleSeverities = false;return this;}@Deprecatedpublic String[] getRulePriorities(){return this.ruleSeverities;}@Deprecatedpublic ResourceQuery setRulePriorities(String... rulePriorities){return setRuleSeverities(rulePriorities);}public boolean isExcludeRules(){return this.excludeRules;}public ResourceQuery setExcludeRules(boolean excludeRules){this.excludeRules = excludeRules;return this;}@Deprecatedpublic boolean isExcludeRuleCategories(){return false;}@Deprecatedpublic ResourceQuery setExcludeRuleCategories(boolean b){return this;}public boolean isExcludeRuleSeverities(){return this.excludeRuleSeverities;}public ResourceQuery setExcludeRuleSeverities(boolean excludeRuleSeverities){this.excludeRuleSeverities = excludeRuleSeverities;return this;}@Deprecatedpublic boolean isExcludeRulePriorities(){return this.excludeRuleSeverities;}@Deprecatedpublic ResourceQuery setExcludeRulePriorities(boolean b){this.excludeRuleSeverities = b;return this;}public Boolean isVerbose(){return this.verbose;}public ResourceQuery setVerbose(Boolean verbose){this.verbose = verbose;return this;}public Boolean isIncludeTrends(){return this.includeTrends;}public ResourceQuery setIncludeTrends(Boolean includeTrends){this.includeTrends = includeTrends;return this;}public Boolean isIncludeAlerts(){return this.includeAlerts;}public ResourceQuery setIncludeAlerts(Boolean includeAlerts){this.includeAlerts = includeAlerts;return this;}public String getUrl(){StringBuilder url = new StringBuilder("/api/resources");url.append('?');appendUrlParameter(url, "resource", this.resourceKeyOrId);appendUrlParameter(url, "metrics", this.metrics);appendUrlParameter(url, "scopes", this.scopes);appendUrlParameter(url, "qualifiers", this.qualifiers);appendUrlParameter(url, "depth", this.depth);appendUrlParameter(url, "limit", this.limit);appendRuleField(url, "rules", this.excludeRules, this.rules);appendRuleField(url, "rule_priorities", this.excludeRuleSeverities, this.ruleSeverities);appendUrlParameter(url, "includetrends", this.includeTrends);appendUrlParameter(url, "characteristics", this.characteristicKeys);appendUrlParameter(url, "includealerts", this.includeAlerts);appendUrlParameter(url, "verbose", this.verbose);return url.toString();}private void appendRuleField(StringBuilder url, String field, boolean excludeField, String[] list){if (!excludeField) {if ((list == null) || (list.length == 0)) {appendUrlParameter(url, field, Boolean.valueOf(true));} else {appendUrlParameter(url, field, list);}}}public final Class<Resource> getModelClass(){return Resource.class;}public static ResourceQuery createForMetrics(String resourceKeyOrId, String... metricKeys){return new ResourceQuery(resourceKeyOrId).setMetrics(metricKeys);}public static ResourceQuery createForResource(Resource resource, String... metricKeys){Integer id = resource.getId();if (id == null) {throw new IllegalArgumentException("id must be set");}return new ResourceQuery(id.toString()).setMetrics(metricKeys);}public static ResourceQuery create(String resourceKey){return new ResourceQuery(resourceKey);} } public abstract class Query<M extends Model>extends AbstractQuery<M> {public abstract Class<M> getModelClass(); } package org.sonar.wsclient.services;import java.util.Date; import javax.annotation.Nullable;public abstract class AbstractQuery<M extends Model> {public static final int DEFAULT_TIMEOUT_MILLISECONDS = 30000;private int timeoutMilliseconds = 30000;private String locale;public abstract String getUrl();public String getBody(){return null;}public final int getTimeoutMilliseconds(){return this.timeoutMilliseconds;}public final AbstractQuery<M> setTimeoutMilliseconds(int i){this.timeoutMilliseconds = (i < 0 ? 0 : i);return this;}public final String getLocale(){return this.locale;}public final AbstractQuery<M> setLocale(String locale){this.locale = locale;return this;}protected static String encode(String value){return WSUtils.getINSTANCE().encodeUrl(value);}protected static void appendUrlParameter(StringBuilder url, String paramKey, int paramValue){url.append(paramKey).append('=').append(paramValue).append("&");}protected static void appendUrlParameter(StringBuilder url, String paramKey, @Nullable Object paramValue){if (paramValue != null) {url.append(paramKey).append('=').append(encode(paramValue.toString())).append('&');}}protected static void appendUrlParameter(StringBuilder url, String paramKey, @Nullable Object[] paramValues){if (paramValues != null){url.append(paramKey).append('=');for (int index = 0; index < paramValues.length; index++){if (index > 0) {url.append(',');}if (paramValues[index] != null) {url.append(encode(paramValues[index].toString()));}}url.append('&');}}protected static void appendUrlParameter(StringBuilder url, String paramKey, @Nullable Date paramValue, boolean includeTime){if (paramValue != null){String format = includeTime ? "yyyy-MM-dd'T'HH:mm:ssZ" : "yyyy-MM-dd";url.append(paramKey).append('=').append(encode(WSUtils.getINSTANCE().format(paramValue, format))).append('&');}} }





總結(jié)

以上是生活随笔為你收集整理的使用sonar-ws-client-4.2.jar 获取sonar数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

欧美黄网站 | 在线 你懂 | 玖玖视频免费在线 | 黄色91在线 | 国产中的精品av小宝探花 | 激情五月色播五月 | 欧美日一级片 | 亚洲激情综合 | 成人免费看黄 | 人人爽人人香蕉 | 国产又黄又猛又粗 | 欧美日韩69 | 久久大香线蕉app | 日韩精品中文字幕在线 | 亚洲午夜久久久综合37日本 | 久久久久久久国产精品视频 | 狠狠狠操 | 久久亚洲免费视频 | 亚洲区色 | 很黄很污的视频网站 | 一区三区视频在线观看 | 伊人婷婷在线 | 欧美特一级 | 精品国产一区二区在线 | 69精品视频 | 在线观看中文字幕视频 | 久久久久久久久久久国产精品 | 国产午夜精品久久久久久久久久 | 亚洲精品高清在线 | 在线视频 区 | 欧美大片www | 最近中文字幕国语免费高清6 | 亚洲国产精品一区二区久久,亚洲午夜 | 涩涩网站在线 | av在线成人 | 欧美日韩一区二区视频在线观看 | 丁香婷婷综合色啪 | 9992tv成人免费看片 | 国产免费一区二区三区网站免费 | 2021国产在线视频 | 日韩成人黄色 | 99久久精品久久亚洲精品 | 中文字幕av专区 | 丝袜美腿av| 国产精品美女久久 | 99久久99久久免费精品蜜臀 | 欧美aaa大片 | 久久久久久久久久久国产精品 | 日韩在线视频不卡 | 天天色综合1| 亚洲免费av网站 | 一色av| 少妇高潮流白浆在线观看 | 色婷婷福利视频 | 欧美日韩高清免费 | 午夜精品av | 久久精品国产亚洲a | 亚洲精品在线视频 | 九九免费在线观看视频 | 一级一级一片免费 | 欧洲av不卡 | 久久视频国产精品免费视频在线 | 国产视频精品免费 | 色噜噜在线观看视频 | 粉嫩aⅴ一区二区三区 | 99精品国产99久久久久久97 | 久久综合福利 | 国内久久看| 91天堂影院| 人人狠狠| 欧美 日韩 性 | 国产一区二区在线播放视频 | 又黄又刺激视频 | 久久网址| 国产中文字幕av | 视频国产 | 99热国产在线中文 | 91精品亚洲影视在线观看 | 久在线 | 色综合天天色综合 | av日韩av| 色综合色综合久久综合频道88 | 在线亚洲高清视频 | 精品在线观看国产 | 久久99影院 | 久久精品草 | 亚洲国产天堂av | 9992tv成人免费看片 | 天天综合网久久 | 久国产在线播放 | 日本天天色 | 久久国产色 | 天天操天天透 | www.日韩免费| 91麻豆产精品久久久久久 | 激情综合亚洲 | 亚洲狠狠操 | 五月婷婷影视 | 成人福利在线观看 | 99视频在线免费播放 | 91视频在线自拍 | 国产精品不卡av | www.黄色片网站 | 97成人精品区在线播放 | 水蜜桃亚洲一二三四在线 | 久久久99精品免费观看app | 国产精品三级视频 | 欧美激情视频一区 | 国产精品久久中文字幕 | 色综合久久66 | 一区二区中文字幕在线观看 | 婷婷色视频 | 成人性生交大片免费观看网站 | 欧美在线99 | 波多野结衣在线观看视频 | 日韩激情久久 | a资源在线 | 国产精品国产亚洲精品看不卡15 | 在线免费观看国产视频 | 国产精品一区二区av麻豆 | 丁香综合| 国产精品久久婷婷六月丁香 | 国产精品国产三级国产aⅴ入口 | 91成人黄色| 国产福利一区二区在线 | 国产精品久久久久久久久久久杏吧 | 天天曰夜夜爽 | 午夜精品视频免费在线观看 | aaa亚洲精品一二三区 | 久久你懂的| 日日日天天天 | 2019中文字幕网站 | 狠狠的操狠狠的干 | 91av视屏| 欧美黄在线 | 国产高清视频在线播放 | 亚洲 av网站 | 一二三区av | 国产黄色免费观看 | 91福利国产在线观看 | 国产精品免费大片视频 | 国产精品久久久久久久久久不蜜月 | 四虎最新入口 | 国产在线超碰 | 欧美成人h版 | 国产99久久久国产精品免费二区 | 欧美亚洲成人xxx | 免费av影视 | 日韩av电影中文字幕在线观看 | 91久久国产精品 | 亚洲少妇久久 | 日韩av免费一区二区 | 在线免费观看一区二区三区 | 久久久免费网站 | 天堂中文在线视频 | 日韩激情精品 | 一区精品久久 | 国产精品欧美久久 | 精品自拍网 | 天堂av一区二区 | 欧美另类巨大 | 在线观看亚洲专区 | 国产黄色大全 | 欧美日韩精品影院 | 91电影福利 | 在线观看一区视频 | 91成熟丰满女人少妇 | 色综合a| 成人亚洲精品久久久久 | 激情久久影院 | 欧美日韩国产亚洲乱码字幕 | 首页中文字幕 | 欧美乱大交 | 国产免费专区 | 中文字幕成人av | 在线观看久久 | 狠狠色伊人亚洲综合网站野外 | 91九色porn在线资源 | 91手机视频 | 狠狠操导航 | 中文字幕资源网在线观看 | 久久久久久综合网天天 | 欧美一区二区三区在线视频观看 | 久久视频6 | 欧美 日韩精品 | 又黄又色又爽 | 奇米网在线观看 | 国产美女精品视频 | 97香蕉超级碰碰久久免费软件 | 婷婷av电影| 久久久国产精品一区二区中文 | 久久成人18免费网站 | 久久手机在线视频 | 国产精品区一区 | 黄色片免费电影 | 午夜精品久久久久 | 亚洲免费精品视频 | www.操.com| 成人一级在线观看 | 我要看黄色一级片 | 国产糖心vlog在线观看 | 国产一级视频在线观看 | 黄色网址国产 | av大片网站 | 久久影院午夜论 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 97超碰国产在线 | 午夜精品区 | 亚洲无在线 | 国产黄色精品在线观看 | 91丨九色丨丝袜 | 久久久久久久看片 | 99久久久国产免费 | 国产精品成人品 | 97色婷婷 | 午夜精品久久久久久久久久 | 女人18片 | 国产亚洲精品久久久久久久久久 | 久久综合色天天久久综合图片 | 久久免费福利 | 久久99视频免费观看 | 麻豆视频91 | 精品女同一区二区三区在线观看 | 精品一区二区电影 | 在线观看国产麻豆 | 正在播放国产91 | 日韩在线观看视频中文字幕 | 欧美一区在线观看视频 | 亚洲毛片在线观看. | 精品一二区 | 国产日韩视频在线观看 | 在线免费观看黄网站 | 亚洲观看黄色网 | 黄色成人免费电影 | 人人干天天干 | 天天爱天天舔 | www.伊人网| 四虎影视8848aamm | 美女视频永久黄网站免费观看国产 | 少妇搡bbbb搡bbb搡忠贞 | 欧美一进一出抽搐大尺度视频 | 特级毛片aaa | 91激情视频在线 | 成人性生交视频 | 色婷婷激情网 | 欧美激情片在线观看 | 友田真希av| 免费在线播放av电影 | 国产精品一区二区在线观看 | 韩日电影在线观看 | 日韩乱理 | 日韩欧美综合视频 | 狠狠操狠狠干2017 | 久久综合狠狠综合久久狠狠色综合 | 免费黄色av电影 | 精品美女久久久久久免费 | 亚洲一区二区三区四区精品 | 国产精国产精品 | 草久久久久 | 热99在线视频 | 在线观看中文 | 狠狠狠色丁香婷婷综合激情 | 99热最新在线 | 日韩一级成人av | 91精品国自产拍天天拍 | 在线观看网站你懂的 | 又色又爽又激情的59视频 | 国产日韩视频在线 | 国产手机视频在线播放 | 亚洲 欧美 综合 在线 精品 | 久草视频中文 | 欧美a性 | 二区在线播放 | 久久久久久久久久久久国产精品 | 久久超碰免费 | 日日夜夜精品视频天天综合网 | 亚洲国产伊人 | 国产成人一区二区啪在线观看 | 免费观看国产成人 | 在线观看亚洲免费视频 | 91久久国产自产拍夜夜嗨 | 日韩精品视频网站 | 国产福利久久 | 免费av在线网 | 久久在线观看视频 | 国产中文字幕网 | 99 色| 97偷拍视频| 国产亚洲亚洲 | av线上看 | 国产精品视频免费看 | 97在线观看免费高清完整版在线观看 | 成人久久精品视频 | 亚洲精品视频免费观看 | 日韩高清在线一区二区三区 | 91精品高清 | 九九视频在线播放 | 天天色综合久久 | 久久国产精品久久精品 | 色综合天天做天天爱 | 十八岁以下禁止观看的1000个网站 | 91激情小视频| 天天操天天操天天操天天操天天操天天操 | 成人一级免费电影 | 亚洲免费高清视频 | 免费观看丰满少妇做爰 | 日本视频精品 | 在线国产福利 | 91高清完整版在线观看 | 九九视频在线播放 | 成人久久18免费网站麻豆 | 色偷偷网站视频 | 国产91综合一区在线观看 | 日韩网站在线免费观看 | 成年人在线免费看视频 | 黄色小说免费观看 | 国产精品欧美久久 | 欧美精品做受xxx性少妇 | 国产精品专区在线 | 国产成人99av超碰超爽 | 又黄又爽免费视频 | 国产精品18久久久久久不卡孕妇 | 国产高清在线免费视频 | 在线色亚洲 | 久久国产精品一区二区三区 | 久草在线视频看看 | 精品欧美乱码久久久久久 | 久久精品久久久久久久 | 日韩视频欧美视频 | 日韩av不卡在线观看 | 国产在线97| 色综合久久综合 | 97国产精品亚洲精品 | 欧美精品一区二区三区四区在线 | 久久免费视频99 | www.操.com| 国产精品一区二区三区在线看 | 久久九九九九 | 成人理论在线观看 | 国产一级三级 | 九九导航| av中文字幕在线看 | 天天综合天天做天天综合 | 国产美女永久免费 | 亚洲人视频在线 | 久久久精品二区 | 韩国av免费在线 | 在线观看aaa| 亚洲精品字幕 | 亚洲精品在线观看的 | 久久一区精品 | 亚洲精品国产麻豆 | 亚洲精品女人久久久 | 四虎国产精品成人免费4hu | 免费日韩在线 | 99麻豆视频 | 精品二区久久 | 一区二区三区四区五区在线 | 国产欧美精品一区二区三区四区 | 国产69精品久久app免费版 | 久久免费视频国产 | 色视频 在线 | 日韩视频在线不卡 | 国产伦精品一区二区三区在线 | 精品专区一区二区 | 国产精品国产三级国产不产一地 | 九月婷婷综合网 | 久久久久欠精品国产毛片国产毛生 | 久久免费视频4 | 又黄又爽的视频在线观看网站 | 伊人手机在线 | 玖玖在线观看视频 | 99久久婷婷国产综合亚洲 | 久久免费精品一区二区三区 | 国产黄色大片 | 中文字幕在线看人 | a在线免费观看视频 | 草久在线播放 | 国产精品久久久久一区二区国产 | 免费午夜网站 | 国产裸体视频网站 | 亚洲精品日韩在线观看 | 精品一区精品二区 | 六月丁香在线观看 | 99热最新在线 | 久久久久国产一区二区 | 午夜国产福利视频 | 亚洲一区二区精品 | 国产日韩在线视频 | 中文字幕国产一区 | 成人免费ⅴa| 欧美日韩国产一区二区在线观看 | 狠狠色噜噜狠狠狠合久 | 国产精品久久久久永久免费 | 97爱| 综合激情网... | av一级网站| 亚洲另类人人澡 | 精品国产精品国产偷麻豆 | 国产视频一区二区三区在线 | 激情欧美国产 | 狠狠躁夜夜a产精品视频 | 日本最新一区二区三区 | 国产资源av | 精品999| 狠狠地日 | av电影免费| 亚洲四虎在线 | 伊人热| 色婷婷久久一区二区 | 国产在线视频在线观看 | 色婷婷97 | 99精品欧美一区二区 | 伊人开心激情 | 黄色视屏免费在线观看 | 国产精品一区二区视频 | 欧美一二三四在线 | 日韩在线短视频 | 天天干天天搞天天射 | 国产一在线精品一区在线观看 | www178ccom视频在线 | 久久久亚洲国产精品麻豆综合天堂 | 国产女人40精品一区毛片视频 | 日韩av免费一区二区 | 国产夫妻性生活自拍 | 91丨九色丨蝌蚪丨老版 | 99在线精品视频观看 | 欧美 日韩 性 | 久久永久视频 | 亚洲精品国产精品国自 | 美女久久视频 | 欧美日本一二三 | 久久免费福利 | 青青久视频 | 黄色在线免费观看网址 | 午夜神马福利 | 免费成人黄色av | 成人在线黄色 | 日本福利视频在线 | 久久精品久久综合 | 欧美 日韩 国产 成人 在线 | 一本—道久久a久久精品蜜桃 | 日日夜夜天天人人 | 国产一区二区在线精品 | 天天操夜夜做 | 天天亚洲综合 | 色99中文字幕 | 国产视频美女 | 日韩免费一区二区三区 | 香蕉免费在线 | 久久这里只有精品首页 | av中文在线| 久久91网| 最新不卡av | 国产精品免费一区二区 | 国产精品福利无圣光在线一区 | 日韩大片在线看 | 国产一级视频在线免费观看 | 国产女人免费看a级丨片 | 天天曰夜夜操 | 久久不见久久见免费影院 | 99麻豆视频 | 中文字幕日韩有码 | 色婷婷福利视频 | 日韩国产精品久久久久久亚洲 | 成片视频在线观看 | a v在线视频 | 91福利视频一区 | 99久久精品一区二区成人 | 91视频在线自拍 | 中文字幕在线观看完整版电影 | 毛片网站在线看 | 国产精品成人在线 | av成人在线网站 | 五月综合激情婷婷 | 天天操夜夜曰 | 日韩激情第一页 | 中文国产成人精品久久一 | 亚洲成人精品影院 | 黄色亚洲 | 亚洲视频电影在线 | 天天操一操| 国产精品久久久久久久久久东京 | 日本在线观看中文字幕 | 婷婷激情站 | 精品亚洲免a | 高清国产在线一区 | 五月激情姐姐 | 国产精品免费视频观看 | 午夜电影 电影 | 精品免费视频123区 午夜久久成人 | 国产精品成人aaaaa网站 | 97超碰在线久草超碰在线观看 | 日b黄色片| 91人人揉日日捏人人看 | 亚洲成a人片在线观看网站口工 | 97超碰超碰 | 17婷婷久久www| 国产一区精品在线 | 久久最新视频 | 国产精久久久久久久 | 91成人免费看片 | 久久影院亚洲 | 少妇搡bbbb搡bbb搡69 | 欧美a级成人淫片免费看 | 狠狠狠狠狠狠干 | 一区二区三区四区免费视频 | 国产视频观看 | 亚洲蜜桃在线 | 日本黄色免费大片 | 日日操夜夜操狠狠操 | 日韩免费看 | 免费在线色| 麻豆国产露脸在线观看 | 欧美亚洲精品在线观看 | 在线免费av电影 | 色老板在线视频 | 国产日本在线播放 | 久久久精品 一区二区三区 国产99视频在线观看 | 在线免费观看国产视频 | 久久久久久久免费观看 | 天天色婷婷 | 中中文字幕av | 四虎在线视频 | 国产精品国产三级国产不产一地 | 日韩小视频 | 少妇bbb搡bbbb搡bbbb | 国产高清免费av | 一区二区不卡视频在线观看 | www欧美色| 一 级 黄 色 片免费看的 | 日韩一区正在播放 | 操操操夜夜操 | 五月婷婷六月综合 | 免费在线观看黄 | 丁香五香天综合情 | 成人小视频在线观看免费 | 久久久国产精品麻豆 | 日韩欧美观看 | 精品国产一区二区三区在线观看 | 婷婷视频在线播放 | 国产亚洲精品久久19p | 中文字幕成人在线 | 久久亚洲区 | 岛国大片免费视频 | 正在播放亚洲精品 | 一区二区激情 | 日韩高清精品一区二区 | 久久久久久蜜av免费网站 | 香蕉视频最新网址 | 黄色影院在线免费观看 | 久久精品综合一区 | 夜夜操网| 青青草在久久免费久久免费 | 日韩精品免费在线视频 | 黄色在线网站噜噜噜 | 成人在线视频免费 | 国内精品99 | 国产精品福利无圣光在线一区 | 97超碰在线资源 | 久久亚洲日本 | 国产精品久久久精品 | 免费日韩 精品中文字幕视频在线 | 精品国产欧美一区二区三区不卡 | 国产视频在线观看一区 | 欧美精品一区二区三区一线天视频 | 国产精品一区二区久久精品爱涩 | 亚洲区精品 | 狠狠干成人| 在线观看成人福利 | 在线观看视频你懂的 | 日韩免费成人av | 亚洲日本色| 99久久精品免费看国产免费软件 | 欧美日韩国产二区 | 在线视频你懂得 | 欧洲亚洲国产视频 | 亚洲永久精品在线观看 | 97av在线视频免费播放 | 黄色片视频在线观看 | 91完整版| 欧美小视频在线 | 91香蕉视频720p| 黄色在线免费观看网址 | 97av色| 久久久久久片 | 国产精品毛片久久久久久 | 中文字幕久久网 | 婷婷伊人综合亚洲综合网 | 91久久国产综合精品女同国语 | 色婷婷成人| 国产夫妻性生活自拍 | 成人a在线观看高清电影 | 91精品在线观看入口 | 天天操天天拍 | 成人午夜电影网站 | 奇米影视777影音先锋 | 黄色小网站免费看 | 在线成人观看 | 欧美成人h版| 91精品久久久久久久99蜜桃 | 国产精品久久久久久av | www.一区二区三区 | 性色av免费在线观看 | 色婷婷欧美 | 国产一级不卡视频 | 黄色a视频免费 | 在线有码中文 | 亚洲每日更新 | 免费看在线看www777 | 国内视频在线 | 99热这里有精品 | 欧美日韩免费一区 | 国产精品视频永久免费播放 | 亚洲高清av在线 | 久久免费av电影 | 亚洲一区二区精品在线 | 狠狠色丁香婷综合久久 | 五月天久久综合 | 久艹在线播放 | 久久精品一区二区三区视频 | 激情xxxx | 久久黄色a级片 | 天天色中文 | 亚洲国产人午在线一二区 | 中文字幕不卡在线88 | 国产精品成久久久久 | 成年人免费av网站 | 国产一二三四在线观看视频 | 国内精品亚洲 | 久久y | 香蕉视频国产在线 | 久久国产精品久久精品国产演员表 | 国产一区二区三区久久久 | 日韩欧美电影 | 视频在线亚洲 | 午夜精品久久久99热福利 | 亚洲在线网址 | www操操| 国内精品久久久久久久久久清纯 | 久久久99精品免费观看 | 久久国产精品99久久人人澡 | 久久精品波多野结衣 | 在线色吧| 日韩在线观看av | 国产喷水在线 | 欧美男男tv网站 | 日韩一级片网址 | 麻豆视频在线观看免费 | 中文字幕日本在线 | 亚洲黄色免费观看 | 四川bbb搡bbb爽爽视频 | 精品福利网 | 久久久久久久久久久精 | 日韩电影在线看 | 国产精品久久久毛片 | 国偷自产中文字幕亚洲手机在线 | 激情av综合| 久久激情五月丁香伊人 | 中文字幕乱偷在线 | 婷婷丁香狠狠爱 | 国产欧美在线一区 | 国产精品久久久久久久久久免费 | 欧美一二三四在线 | 欧美另类v| 手机成人免费视频 | 五月婷婷激情综合 | 国产精品视频地址 | 亚洲国产精品va在线看黑人动漫 | 91精品国产乱码 | 丁香在线观看完整电影视频 | 国产老熟 | 在线黄频 | 波多野结衣在线视频一区 | 国产 中文 日韩 欧美 | aaa日本高清在线播放免费观看 | 9在线观看免费高清完整版在线观看明 | 91av在线播放视频 | 1区2区3区在线观看 三级动图 | 国产精品一区二区免费 | a天堂最新版中文在线地址 久久99久久精品国产 | 三级av免费 | 久久99国产精品久久99 | 日韩二区三区在线观看 | 99精品免费在线 | 69国产在线观看 | 精品久久久久久国产91 | 天天艹天天 | 人人舔人人舔 | 韩国av不卡 | 色综合天天色 | 亚洲国产精品久久久久 | 日韩一级精品 | 久久不卡日韩美女 | 成人在线观看资源 | 午夜影院在线观看18 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产伦理一区 | 久久a国产 | 日韩最新av在线 | 亚洲国产成人精品电影在线观看 | 久久大片 | 欧洲激情在线 | 在线观看黄网 | 婷婷伊人综合亚洲综合网 | 激情影院在线 | 国产精品一区在线 | 国产不卡在线播放 | 色中射 | 亚洲乱码在线观看 | 国产一区免费在线观看 | 在线观看视频黄色 | 性色av免费看| 成年在线观看 | 丝袜美腿亚洲综合 | 日韩一级成人av | 最新av在线播放 | 国产精品免费视频网站 | 992tv成人免费看片 | 91爱爱中文字幕 | 99高清视频有精品视频 | 成人动漫一区二区三区 | 精品国产一区二区三区在线观看 | 日韩精品一区二区三区视频播放 | 综合国产在线观看 | 一区二区三区影院 | 日本精品视频在线观看 | 国产精品一区二区三区四 | 欧洲亚洲精品 | 99免费观看视频 | 狠狠色丁香久久婷婷综合丁香 | 中文字幕第一 | 久久久伦理 | 国产精品大片在线观看 | 亚洲欧美色婷婷 | 久久国产高清 | 尤物九九久久国产精品的分类 | 欧美国产日韩中文 | 在线观看岛国 | 人人草天天草 | 国产精品人成电影在线观看 | 一区中文字幕在线观看 | 国产精品99久久久久久宅男 | 天天爱天天射天天干天天 | 国产黄色在线网站 | 91精品国产乱码久久 | 中文资源在线官网 | 亚洲国产99 | 午夜精品一区二区三区可下载 | 在线观看视频亚洲 | 五月婷婷毛片 | 在线播放av网址 | 国产一区在线看 | 色在线中文字幕 | 国产98色在线 | 日韩 | 一区在线播放 | 中文字幕在线免费观看视频 | 18女毛片 | 一区av在线播放 | 国产精品久久久久av福利动漫 | 欧美日韩国产区 | 99在线观看免费视频精品观看 | 日本 在线 视频 中文 有码 | 亚洲美女精品区人人人人 | 中文字幕久久精品亚洲乱码 | 国产亚洲欧美日韩高清 | 麻豆国产电影 | 十八岁免进欧美 | 亚洲人成免费 | 丁香 久久 综合 | 在线观看岛国 | 91完整版观看 | 中文字幕av在线不卡 | 蜜臀久久99精品久久久酒店新书 | 欧美乱熟臀69xxxxxx | 2024国产在线 | 99热国产精品 | 中文一二区| 免费日韩av片 | 99草视频| 午夜国产福利在线 | 99久久精品国产网站 | 激情网五月天 | 99爱国产精品 | 麻豆国产网站入口 | 91精品在线播放 | 国产免费观看高清完整版 | 色婷婷激情综合 | 国产精品免费成人 | 69精品久久| 9999精品 | 日韩专区av | 精品久久毛片 | 国产亚洲精品久久久久久无几年桃 | 天天干天天操天天 | 亚洲精品国产综合久久 | 日韩欧美网址 | www.五月天激情 | 少妇超碰在线 | 五月天中文在线 | 男女啪啪免费网站 | 久久国产精品久久国产精品 | 午夜美女视频 | 黄色av成人在线观看 | 中文字幕免费成人 | 亚洲一区二区三区在线看 | 国产伦精品一区二区三区四区视频 | 在线看片中文字幕 | 免费欧美精品 | 少妇搡bbb | 日韩精品免费一区 | 五月综合激情网 | 五月天六月色 | 麻豆系列在线观看 | 国产精品视频专区 | 日韩激情综合 | 在线欧美小视频 | 日韩精品一区二区三区三炮视频 | 色av资源网 | 成人动图 | 日韩精品在线一区 | 日日成人网| 亚洲高清av在线 | 视频在线一区二区三区 | 国产成人亚洲精品自产在线 | 国产黄色免费在线观看 | 亚洲精品视频在线观看免费视频 | 亚欧洲精品视频在线观看 | 三三级黄色片之日韩 | 久久亚洲国产精品 | 日日操操 | 视频二区| 精品久久久久久久久久久久久久久久久久 | 日韩欧美在线综合网 | 久草在线中文视频 | 国产视频 久久久 | 国产精品麻豆三级一区视频 | www.夜夜夜 | 黄色福利视频网站 | 欧美精品一区二区三区一线天视频 | 欧美另类美少妇69xxxx | 一区二区久久久久 | 波多野结衣电影一区二区三区 | 中文字幕永久在线 | 国产高清免费 | 国产精品理论片在线播放 | 国产精品美女久久久久久久 | 在线看毛片网站 | 2023亚洲精品国偷拍自产在线 | 成人av网址大全 | 国产三级精品在线 | 在线播放精品一区二区三区 | 草在线 | 在线观看免费黄色 | 国产精品久久久久久久久久白浆 | 欧美在线视频一区二区三区 | 亚洲资源在线 | 亚洲一级国产 | 国产成人一区二区啪在线观看 | 在线观看免费色 | 国产午夜免费视频 | 久色小说 | 欧美激情亚洲综合 | 操操操com| 久久精品久久久久电影 | 久久8精品 | 成人少妇影院yyyy | 婷婷av综合 | 在线视频国产区 | 91视频传媒 | 成人精品视频久久久久 | 久久精品亚洲综合专区 | 午夜av激情 | 久久国产精品精品国产色婷婷 | 91精品第一页 | 日日夜夜天天射 | 91九色视频国产 | 中文字幕人成一区 | 搡bbbb搡bbb视频 | 欧美性生爱| 久久国产成人午夜av影院潦草 | 不卡精品| 亚洲精品日韩一区二区电影 | 久久久久久久久国产 | 久久超碰97 | 久久在视频 | 日本 在线 视频 中文 有码 | 免费亚洲黄色 | 免费看片成年人 | 人人爽人人爽 | av网站免费线看精品 | 久久这里 | 五月婷婷黄色网 | 久久免费视频这里只有精品 | 欧美日韩精品区 | 久热只有精品 | 国产亚洲精品电影 | 最近中文字幕免费观看 | 亚洲黄色成人av | 国产久草在线 | 四虎成人网 | 激情校园亚洲 | 中日韩男男gay无套 日韩精品一区二区三区高清免费 | 九九视频一区 | 亚洲一区二区三区四区在线视频 | 国产午夜亚洲精品 | 狠狠狠狠狠狠狠干 | 国产精品福利在线播放 | 日b视频在线观看网址 | 91av超碰| 中文字幕资源网在线观看 | 久久久久亚洲精品 | 日韩在线观看小视频 | 免费在线观看av网站 | 国产日韩欧美网站 | 91豆花在线| 91在线视频免费播放 | 日韩电影中文字幕在线观看 | 人人玩人人爽 | 国产精品一区二区三区99 | 欧美日韩网址 | 国产精品视频最多的网站 | 女人18精品一区二区三区 | 国产探花视频在线播放 | 国产精品亚洲综合久久 | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 韩国一区视频 | 日韩成人高清在线 | 四虎影视精品永久在线观看 | 91精品久久久久久综合乱菊 | 免费一级片在线观看 | www.天天干| 成人一级免费电影 | 久草在线99 | 91视频中文字幕 | av网站地址| 激情av网址 | 夜夜操狠狠操 | 欧美性受极品xxxx喷水 | 国内视频在线 | 亚洲激情五月 | 精品国产激情 | 国产精品第一 | 91黄站| 久久不射电影院 | 精品久久久久久综合日本 | 成人精品国产 | 激情久久久久久久久久久久久久久久 | 91九色国产在线 | 国产a国产a国产a | 婷婷日日 | 久草在线久草在线2 | 一区二区影院 | 四虎影视成人精品国库在线观看 | 国产99久久精品一区二区永久免费 | 国产一级二级在线播放 | 久久av影院| 免费黄色av片 | 日韩久久久久久久久 | 国产美女精品久久久 | 国产成人精品区 | 全久久久久久久久久久电影 | 日本在线观看一区二区三区 | 国产人成精品一区二区三 | 久久久久久久久久久久国产精品 | 国产精品96久久久久久吹潮 | 国产精品成人一区二区三区吃奶 | 九九久久精品视频 | 在线观看日韩精品 | 中文字幕a∨在线乱码免费看 | 天天干,天天射,天天操,天天摸 | 国产高清视频 | 欧美一区二区三区不卡 | 久草在线免费看视频 | 欧美性超爽 | 色婷婷av在线 | 日本丰满少妇免费一区 | 天天干天天操天天做 | 天天翘av| 免费高清男女打扑克视频 | 日韩剧 | 91亚色在线观看 | 九九久久精品视频 | 国产美女免费 | 成人午夜电影在线播放 | 国产91精品高清一区二区三区 | 婷婷深爱激情 | 青青河边草免费视频 | 天天干天天天 | 色综合久久久久网 | 国产日韩视频在线观看 | 久久久综合香蕉尹人综合网 | 国产色在线视频 | 丝袜美女在线观看 | 久久精品久久99 | 天天拍天天操 | 在线精品一区二区 | 日韩精品一区二区三区电影 |